TABLE2–3 Keep-AliveStatistics (Continued)
ConnectionTimeout 10
BothHTTP 1.0 and HTTP 1.1 support the ability to send multiple requests across a single
HTTPsession. A web server can receive hundreds of new HTTP requests per second. If every
requestwas allowed to keep the connection open indenitely, the server could become
overloadedwith connections. On UNIX and Linux systems, this could lead to a le table
overowvery easily.
Todeal with this problem, the server maintains a counter for the maximum number of waiting
keep-aliveconnections. A waiting keep-alive connection has fully completed processing the
previousrequest, and is now waiting for a new request to arrive on the same connection. If the
serverhas more than the maximum waiting connections open when a new connection waits for
akeep-alive request, the server closes the oldest connection. This algorithm keeps an upper
boundon the number of open waiting keep-alive connections that the server can maintain.
SunJava System Web Server does not always honor a keep-alive request from a client. The
followingconditions cause the server to close a connection, even if the client has requested a
keep-aliveconnection:
Thekeep alive timeout is set to 0.
Thekeep alive maximum connections count is exceeded.
Dynamiccontent, such as a CGI, does not have an HTTP content-length header set. This
appliesonly to HTTP 1.0 requests. If the request is HTTP 1.1, the server honors keep-alive
requestseven if the content-length is not set. The server can use chunked encoding for
theserequests if the client can handle them (indicated by the request header
transfer-encoding: chunked).
Therequest is not HTTP GET or HEAD.
Therequest was determined to be bad. For example, if the client sends only headers with no
content.
Thekeep-alive subsystem in Web Server is designed to be massively scalable. The
out-of-the-boxconguration can be less than optimal if the workload is non-persistent (that is,
HTTP1.0 without the KeepAlive header), or for a lightly loaded system that’s primarily
servicingkeep-alive connections.
Keep-AliveCount
Thissection in perfdump has two numbers:
Numberof connections in keep-alive mode (total number of connections added)
Maximumnumber of connections allowed in keep-alive mode simultaneously (maximum
connectionsize)
UsingMonitoringData to TuneYour Server
SunJavaSystem Web Server 7.0 Update 1 Performance Tuning,Sizing, and Scaling Guide 54