hi folks,
I am running tomcat 5.5.26 , openJDK 64BIT 1.6.0-b09 , CentoOS 5.5 64bit
, my site is request pattern is high and short req/s , I have a load
balancer in-front of my tomcat servers , the load balancer uses a Curl
simple http request to the tomcat connector on port 8080 (simple http get to
a page) to determine if the application is alive.
Lately the health check LB logs are full of service down/up when trying to
connect to the tomcat to do the health check , I used wireshark and can
clearly see that the load balancer is initiating the TCP port 8080 SYN
request but never gets an ACK from the server , this leads me to
the suspicion that the tomcat 8008 connector is saturated ? having said that
we use JMX monitoring to graph the Thread busy/max/free looking at the
graphs we cannot determine that the thread count reaches MaxThreads but then
again we collect every 5 minutes maybe the interval is too long to capture a
maxThread Count issue ? One more interesting fact to note is that the
errorCount on this connector is incrementing ~ 5 Errors per sec ...
So my question is how can I troubleshoot the issue further ? am I supposed
to see the connector errors on catalina.out ?
Below my server.xml connector snippet
<!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
<Connector port="8080"
maxThreads="1000" minSpareThreads="50" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="3000" disableUploadTimeout="true"
maxKeepAliveRequests="1"
compression="on" compressionMinSize="512"
noCompressionUserAgents="gozilla, traviata"
compressableMimeType="text/html,text/xml,text/plain,text/css,application/x-javascript,text/javascript,application/javascript,application/xml,application/xslt+xml,text/xsl"
/>
Appreciate your help.
Kobi.