Tuesday, August 16, 2011

WS design for improved performance


In my experience, these three are the most commonly seen performance-related design mistakes in web service development:
1. Chatty calls. 
Network round trips to and from a Web service can be expensive. This issue is magnified if clients need to issue multiple requests to a Web service to complete a single logical operation. The web services should be designed to maximize the amount of work performed with each request. Make sure that the functionality you are offering is worth the time and effort the client had to go to in order to get the request to you in the first place. For better performance, consider combining smaller requests into a larger single request.

2. Serialization of large amounts of data.
Serializing large amounts of data and passing it to and from Web services can cause performance-related issues, including network congestion and excessive memory and processor overhead. Consider redesign.

3. Inefficient state management.
Inefficient state management design in Web services can lead to scalability bottlenecks because the server becomes overloaded with state information that it must maintain on a per-user basis. Common pitfalls for Web services state management include using stateful Web methods, using cookie container–based state management, and choosing an inappropriate state store. The most scalable Web services maintain no state.

© Copyright 2011, Tomas Elfving

0 kommentarer: