MaxSocketsPerServer and ServerConnTimeout parameters

The MaxSocketPerServer directive is used to set the maximum number of open socket connections, that are maintained, to any one origin server and the ServerConnTimeout directive is used to limit the time allowed without network activity before canceling a socket connection.

Setting the ServerConnPool directive to ON in the caching proxy configuration file will reduce the number of new connections created to the back-end server by causing the caching proxy to reuse existing socket connections.

The caching proxy server is configured at system initialization by the values set in the ibmproxy.conf file located in /etc. The following configuration statements in the ibmproxy.conf file were significant for the measurements in this study (see ibmproxy.conf for details on these areas of the ibmproxy.conf file):
  • Proxy /* http://192.168.30.82/* :80

    This directive passes http protocol requests to a remote server (the WebSphere® Load Balancer cluster).

  • ReversePass http://192.168.30.82/* http://192.168.40.90/*

    The ReversePass mapping directive examines the server response stream to detect requests that are rewritten as a result of automatic redirection. Typically, when a server returns an http code in the 3xx class (for example, 301 for "moved permanently", or 303 for "see other"), the server sends a message with the reply that instructs the requesting client to direct future requests to the correct URL and IP address. In the case of a reverse proxy setup, a redirection message from the origin server can cause client browsers to bypass the proxy server for subsequent requests. To avoid having clients directly contact the origin server, we used the ReversePass directive to intercept requests that were made specifically to the origin server. The use of this directive insured that all traffic from the client WebSphere Studio Workload Simulator driver was routed through the caching proxy server.

  • MaxSocketsPerServer 500

    This directive is used to set the maximum number of open sockets to maintain for any one origin server. Use this directive only if the ServerConnPool directive is set to ON. The value of 500 gave the best throughput in our environment.

  • ServerConnTimeout 5 seconds

    This directive was used to limit the time allowed without network activity before canceling the connection. Use this directive only if the ServerConnPool directive is set to ON. The value of 5 seconds gave the best throughput in our environment.