WildFly JBossWeb Tomcat Connector Internal ThreadPool Statistics: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
(Created page with "=Internal= * JBossWeb Monitoring =Overview=")
 
 
(7 intermediate revisions by the same user not shown)
Line 2: Line 2:


* [[JBossWeb_Monitoring#Tomcat_Connector_Internal_ThreadPool_Statistics|JBossWeb Monitoring]]
* [[JBossWeb_Monitoring#Tomcat_Connector_Internal_ThreadPool_Statistics|JBossWeb Monitoring]]
=Relevance=
* EAP 6.4.10


=Overview=
=Overview=
Tomcat connector internal thread pool JMX statistics are not exposed by default. In order to expose them, the JBoss instance must start with "org.apache.tomcat.util.ENABLE_MODELER" system property set to "true". This can be done in the .conf file corresponding to the mode JBoss is run in (standalone.conf or in domain.conf):
<pre>
JAVA_OPTS="${JAVA_OPTS} -Dorg.apache.tomcat.util.ENABLE_MODELER=true"
</pre>
Alternatively, it can be specified in the <system-properties> section of the configuration file:
<pre>
<system-properties>
    ...
    <property name="org.apache.tomcat.util.ENABLE_MODELER" value="true"/>
    ...
</system-properties>
</pre>
The system property will determine the Tomcat Http11Protocol or class AjpProtocol to expose the corresponding JIoEndpoit in JMX as
<pre>
jboss.web:name=<protocol>-<bind-address>-<port>,type=ThreadPool
</pre>
Example:
<pre>
jboss.web:name=ajp-127.0.0.1-8009,type=ThreadPool
</pre>
=JMX Metrics=
====maxThreads====
The thread count upper limit. No more than 'maxThreads' Tomcat connector threads can be created, meaning that no more than 'maxThreads' requests can be handled in parallel.
====currentThreadCount====
The number of connector threads in existence at a certain moment in time. Includes threads actively doing work (see '[[#currentThreadsBusy|currentThreadsBusy]]' below) and idle threads. It is the value of the 'curThreads' internal variable.
====currentThreadsBusy====
The number of AJP threads doing work at a certain moment in time. It is calculated based on formula:
<pre>
curThreads - workers.size()
</pre>

Latest revision as of 15:42, 11 May 2017

Internal

Relevance

  • EAP 6.4.10

Overview

Tomcat connector internal thread pool JMX statistics are not exposed by default. In order to expose them, the JBoss instance must start with "org.apache.tomcat.util.ENABLE_MODELER" system property set to "true". This can be done in the .conf file corresponding to the mode JBoss is run in (standalone.conf or in domain.conf):

JAVA_OPTS="${JAVA_OPTS} -Dorg.apache.tomcat.util.ENABLE_MODELER=true"

Alternatively, it can be specified in the <system-properties> section of the configuration file:

<system-properties>
    ...
    <property name="org.apache.tomcat.util.ENABLE_MODELER" value="true"/>
    ...
</system-properties>

The system property will determine the Tomcat Http11Protocol or class AjpProtocol to expose the corresponding JIoEndpoit in JMX as

jboss.web:name=<protocol>-<bind-address>-<port>,type=ThreadPool

Example:

jboss.web:name=ajp-127.0.0.1-8009,type=ThreadPool

JMX Metrics

maxThreads

The thread count upper limit. No more than 'maxThreads' Tomcat connector threads can be created, meaning that no more than 'maxThreads' requests can be handled in parallel.

currentThreadCount

The number of connector threads in existence at a certain moment in time. Includes threads actively doing work (see 'currentThreadsBusy' below) and idle threads. It is the value of the 'curThreads' internal variable.

currentThreadsBusy

The number of AJP threads doing work at a certain moment in time. It is calculated based on formula:

curThreads - workers.size()