Peak (Peak Requests Queued in the Admin Console) is the highest number of requests that were
ever queued up simultaneously for the use of a native thread since the server was started. This
value can be viewed as the maximum concurrency for requests requiring a native thread.
Limit is the maximum number of requests that can be queued at one time to wait for a native
thread, and is determined by the setting of NativePoolQueueSize.
Tuning
You can modify the queue size for NativePool by editing the NativePoolQueueSize directive in
magnus.conf. For more information, see
“NativePoolQueueSize Directive” on page 67.
NativePoolStackSize Directive
The NativePoolStackSize determines the stack size in bytes of each thread in the native
(kernel) thread pool.
Tuning
You can modify the NativePoolStackSize by editing the NativePoolStackSize directive in
magnus.conf.
NativePoolQueueSize Directive
The NativePoolQueueSize determines the number of threads that can wait in the queue for the
thread pool. If all threads in the pool are busy, then the next request-handling thread that needs
to use a thread in the native pool must wait in the queue. If the queue is full, the next
request-handling thread that tries to get in the queue is rejected, with the result that it returns a
busy response to the client. It is then free to handle another incoming request instead of being
tied up waiting in the queue.
Setting the NativePoolQueueSize lower than the maximum threads value causes the server to
execute a busy function instead of the intended NSAPI function whenever the number of
requests waiting for service by pool threads exceeds this value. The default returns a “503
Service Unavailable” response and logs a message, depending on your log level setting. Setting
the NativePoolQueueSize higher than the maximum threads causes the server to reject
connections before a busy function can execute.
This value represents the maximum number of concurrent requests for service that require a
native thread. If your system is unable to fulll requests due to load, letting more requests queue
up increases the latency for requests, and could result in all available request threads waiting for
a native thread. In general, set this value to be high enough to avoid rejecting requests by
anticipating the maximum number of concurrent users who would execute requests requiring a
native thread.
UsingMonitoringDatatoTuneYour Server
Chapter2 • TuningSunJavaSystemWebServer 67