Theequivalent information as the Total Number of Threads is available through the Admin
Consolefrom the Monitoring tab Instances sub tab, under General Statistics. To see the
maximumthreads allowed, see the Maximum Threads eld on the conguration's Performance
tabHTTP sub tab, under Thread Pool Settings.
Toget the equivalent of the perfdump Active Sessions, you can subtract the Number of Idle
Threadsfrom the Total Number of Threads.
MaximumThreads (Maximum Simultaneous Requests)
Themaximum threads setting species the maximum number of simultaneous transactions
thatthe Web Server can handle. The default value is 128. Changes to this value can be used to
throttlethe server, minimizing latencies for the transactions that are performed. The Maximum
Threadsvalue acts across multiple virtual servers, but does not attempt to load balance. It is set
foreach conguration.
Reachingthe maximum number of congured threads is not necessarily undesirable, and you
donot need to automatically increase the number of threads in the server. Reaching this limit
meansthat the server needed this many threads at peak load, but as long as it was able to serve
requestsin a timely manner, the server is adequately tuned. However, at this point connections
queueup in the connection queue, potentially overowing it. If you monitor your server's
performanceregularly and notice that total sessions created number is often near the maximum
numberof threads, you should consider increasing your thread limits.
Tocompute the number of simultaneous requests, the server counts the number of active
requests,adding one to the number when a new request arrives, subtracting one when it nishes
therequest. When a new request arrives, the server checks to see if it is already processing the
maximumnumber of requests. If it has reached the limit, it defers processing new requests until
thenumber of active requests drops below the maximum amount.
Intheory, you could set the maximum threads to 1 and still have a functional server. Setting this
valueto 1 would mean that the server could only handle one request at a time, but since HTTP
requestsfor static les generally have a very short duration (response time can be as low as 5
milliseconds),processing one request at a time would still allow you to process up to 200
requestsper second.
However,in actuality, Internet clients frequently connect to the server and then do not
completetheir requests. In these cases, the server waits 30 seconds or more for the data before
timingout. You can dene this timeout period using the IO Timeout setting on the
conguration'sPerformance tab HTTP Settings page. You can also use the command wadm
set-http-propand set the io-timeout property. The default value is 30 seconds. By setting it
toless than the default you can free up threads sooner, but you might also disconnect users with
slowerconnections. Also, some sites perform heavyweight transactions that take minutes to
complete.Both of these factors add to the maximum simultaneous requests that are required. If
yoursite is processing many requests that take many seconds, you might need to increase the
numberof maximum simultaneous requests.
UsingMonitoringData to TuneYour Server
SunJavaSystem Web Server 7.0 Update 1 Performance Tuning,Sizing, and Scaling Guide 58