httpd.conf settings | Threads
Keepalive
HTTP is a connectionless protocol, and by default each request opens and closes a socket. IBM recommends using the keepalive directive to keep sockets open for a certain time and reuse them for multiple requests. This is useful because each Web page typically requires multiple requests for embedded objects.
Web pages served by rich Internet applications (RIAs, such as the WebSphere Commerce Web 2.0 starter store, which uses the Dojo Javascript library for AJAX processing) typically make extensive use of Javascript to dynamically and transparently reload content in the background after loading an initial version of a page. If the initially opened socket is kept open for these kinds of pages, it will be reused multiple times.
The directives to use are:
- Keepalive ON
Allow clients to send multiple requests down a socket connection. As the overhead needed to establish a connection is much larger than that needed to send data packets, it is nearly always necessary to set this to ON in order to achieve high throughput.
- KeepAliveTimeout
Number of seconds to wait for the next request from a client on any single xxxx keepalive connection. Three to five seconds should work well here as a starting point. Do not use too large of an amount of time here, as some Web servers do not close connections properly. This setting forces the browsers to discard connections and reopen new ones.
- MaxKeepAliveRequests
Maximum number of requests that are allowed xxxx on a keepalive connection before it is closed. Typically, 100 will suffice. This setting will force even very active users to reopen connections at some point, so the value should not be too small.