eG Monitoring
 

Measures reported by TomcatThreadTest

The Http connector in the Tomcat Web server represents a Connector component that supports the HTTP/1.1 protocol, which enables Catalina to function as a stand-alone web server, besides its ability to execute servlets and JSP pages. A particular instance of this component listens for connections on a specific TCP port number on the server to perform request processing and response creation. You can have one or more such Connectors configured to form a part of a single Service with each forwarding service to the associated Engine.

As soon as your server startup time is up, this Connector will create a number of request processing threads which are based on the value configured for the minSpareThreads attribute. Each incoming request requires a thread for the duration of that request. If more simultaneous requests are received than can be handled by the currently available request processing threads, additional threads will be created up to the configured maximum (the value of the maxThreads attribute). If still more simultaneous requests are received, they are stacked up inside the server socket created by the Connector, up to the configured maximum (the value of the acceptCount attribute). Any further simultaneous requests will receive "connection refused" errors, until resources are available to process them.

Continuous monitoring of thread pools is imperative to ensure the smooth transaction of business on the Tomcat web server. The TomcatThreadTest periodically observes thread pool usage to proactively determine inadequacies in the allocation of threads to the pool, and to predict future thread requirements.

Measurement Description Measurement Unit Interpretation
Thread_count Indicates the number of threads that are currently assigned to a connector Number  
Threads_busy Indicates the number of threads which are currently busy in processing requests Number A high value for this measure indicates that there is hectic activity at the connector level.  
Max_threads Indicates the high watermark of threads in the pool in the last measurement period Number In the Tomcat server, a maxThreads attribute can be set for every connector to indicate the maximum number of simultaneous requests that can be handled by that connector. The default maxThreads value for a connector is 200.  
Max_spare_threads Indicates the maximum number of spare threads that can exist in a thread pool Number Ideally for a connector, the default value is set to 50, which will determine the maximum number of unused request processing threads that will be allowed to exist until the thread pool starts stopping the unnecessary threads.
Min_spare_threads Indicates the minimum number of spare threads that are currently available for processing requests Number Generally, for a connector, the default value for this parameter is set to 4, which is less than the value set in maxThreads. This attribute will determine the number of request processing threads that will be created when this Connector is first started. The connector will also make sure it has the specified number of idle processing threads available.