Keep-Alive Poll Interval
The keep-alive poll interval species the interval (in seconds) at which the system polls
keep-alive connections for further requests. The default is 0.001 second, the lowest value
allowed. It is set to a low value to enhance performance at the cost of CPU usage.
To tune the poll interval, edit the Poll Interval eld on the conguration's Performance tab ⇒
HTTP tab, under Keep Alive Settings. In the command-line interface, use the poll-interval
property in the wadm set-keep-alive-prop command.
Keep-AliveThreads
You can congure the number of threads used in the keep-alive system in the Admin Console
by editing the Threads eld on the conguration's Performance tab ⇒ HTTP tab, under Keep
Alive Settings. The default is 1. In the command-line interface, use the threads property in the
wadm set-keep-alive-prop command.
Tuning for HTTP 1.0-Style Workload
Since HTTP 1.0 results in a large number of new incoming connections, the default acceptor
threads of 1 per listen socket would be suboptimal. Increasing this to a higher number should
improve performance for HTTP 1.0-style workloads. For instance, for a system with 2 CPUs,
you might want to set it to 2. You might also want to reduce the keep-alive connections, for
example, to 0.
HTTP 1.0-style workloads would have many connections established and terminated.
If users are experiencing connection timeouts from a browser to Web Server when the server is
heavily loaded, you can increase the size of the HTTP listener backlog queue by setting the
HTTP listener listen queue size to a larger value, such as 8192.
The HTTP listener listen queue species the maximum number of pending connections on a
listen socket. Connections that time out on a listen socket whose backlog queue is full fail.
Tuning for HTTP 1.1-Style Workload
In general, it is a trade-o between throughput and latency while tuning server-persistent
connection handling. The keep-alive poll interval and timeout control latency. Lowering the
value of these settings is intended to lower latency on lightly loaded systems (for example,
reduce page load times). Increasing the values of these settings is intended to raise aggregate
throughput on heavily loaded systems (for example, increase the number of requests per second
the server can handle). However, if there's too much latency and too few clients, aggregate
throughput suers as the server sits idle unnecessarily. As a result, the general keep-alive
subsystem tuning rules at a particular load are as follows:
■
If there's idle CPU time, decrease the poll interval.
■
If there's no idle CPU time, increase the poll interval.
UsingMonitoringDatatoTuneYour Server
SunJavaSystemWebServer7.0Update1 PerformanceTuning,Sizing,and ScalingGuide •56