Overloading a cluster member

There are only so many concurrent requests that can be handled by a Web container in a cluster member. The number of concurrent requests is determined by the maximum number of threads available (10 threads implies 10 concurrent requests). However, a request does not necessarily constitute a user request. A browser might make multiple requests to get the information a user requested.

Connections coming into the Web container's embedded HTTP transport feed requests to threads. If there are more connections than threads available, connections start to backlog, waiting for free threads. There is a maximum setting for the number of connections that can be backlogged as well. If the maximum number of connections in the backlog is exceeded, then no more connections will be allowed to the embedded HTTP server's port.

If there has been a successful connection but it is waiting for a thread in the Web container, then the plug-in will wait for a response (and so will the client). If the connection backlog is full, the plug-in will be refused a connection to the port and the plug-in will treat this in the same way as a stopped cluster member. It will mark the cluster member as down and select a new cluster member to which to pass the request. The cluster member will then hopefully be able to reduce its connection backlog, since the plug-in will not try it again until the retry interval passes.

To avoid this overloading of cluster members, your environment needs to be configured to accept the load you are expecting. This includes the setting of weights that correspond to the system capabilities, the correct balance of cluster members and Web servers, and setting up the queues for requests and connections.

To monitor the behavior of the plug-in when a cluster member has too many requests, use a load testing tool (such as ApacheBench or JMeter), plug-in trace, and Tivoli Performance Viewer.

  Prev | Home | Next

 

WebSphere is a trademark of the IBM Corporation in the United States, other countries, or both.

 

IBM is a trademark of the IBM Corporation in the United States, other countries, or both.

 

Tivoli is a trademark of the IBM Corporation in the United States, other countries, or both.