tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vanga Palli, Ravindra Kumar" <ravindra.vangapa...@hp.com>
Subject Enable logging for JIoEndpoint
Date Wed, 22 May 2013 19:46:14 GMT
Hi,

Short question:

I have a simple question, how to ensure JIoEndpoint logs to catalina.log fine when threads
are maxed out?
I have read the tomcat logging documentation for tomcat 6.0.28/RHEL6.3.

Long question:

We are using tomcat 6.0.28,  our goal is to figure out are we maxing out on number of threads
and I am looking at JIoEndpiont.java source code and found the following code. So, looks like
JIoEndpoint logs whenever all the worker threads are busy, if i receive conncurrent connections
more than maxThreads in server.xml , i should see this logging message in catalina.out. So,
how do i enable the logs for this class org.apache.tomcat.util.net.JIoEndpoint.

if (curThreadsBusy == maxThreads) {
                    log.info(sm.getString("endpoint.info.maxThreads",
                            Integer.toString(maxThreads), address,
                            Integer.toString(port)));
                }

I modified  the following logging file: tomcat/conf/logging.properties, added this entry to
this file and bounced the server.

cat /usr/Interwoven/tomcat/conf/logging.properties | grep -A 4 -B 3 JIo
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].handlers = 5host-manager.org.apache.juli.FileHandler

org.apache.tomcat.util.net.JIoEndpoint.level = FINE

# For example, set the com.xyz.foo logger to only log SEVERE
# messages:
#org.apache.catalina.startup.ContextConfig.level = FINE


I also configured the server.xml as follows:

<Connector
                   port="1776"
                   maxThreads="8"
                   threadPriority="MAX_PRIORITY"
                   minSpareThreads="3"
                   maxSpareThreads="5"
                   enableLookups="false"
                   acceptCount="512"
                   debug="0"
                   connectionTimeout="20000"
                   useURIValidationHack="false"
                   disableUploadTimeout="true"
                   URIEncoding="UTF-8"/>

Then, i ran the test as follows which generates 500 concurrent request, as there are only
8 max threads, i should get log message that all threads are busy.

ab -n 1000 -c 500 http://localhost:1776/test.

 In theory i should see the log message if i configured everything correctly. So do you have
any idea on what am i missing here. How do i see the logging for JIoEndpoint class ?

Any insights would be helpful.
Thanks,
Ravi

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message