On Sep 20, 2012, at 6:12 PM, Django Radonich-Camp wrote:

> thank you for the replies chris and dan.
> 
> chris:
> 1.  upgrading apache is possible, but not easy (puppet manages the install).
> 2.  unfortunately i have not figured out how to reproduce the problem.  we
> did extensive load testing on the system prior to launch and not once did
> we see this problem...
> 
> dan:
> 1.  good idea.  do you know a good reference for setting this up?

It is just a matter of adding the JVM options in setenv.sh.

I'll typically use something like this...

-XX:+PrintGC -Xloggc:$CATALINA_BASE/logs/gc.log -XX:+PrintGCDetails 
-XX:+PrintGCTimeStamps

You can adjust the options to fit your needs.  If you need more detail, I would 
suggest google'ing "java garbage collection log" or the individual option.

> 2.  also, what is the process for capturing thread dumps?  this will be
> difficult however because the incidents are random and so far, mostly
> ocurring in the middle of the night.

There are a few ways to do this.  I find running "kill -3 <pid>" to be the 
easiest.  You could also use "jstack <pid>"

Dan


> 
> thanks again for the help.
> 
> 
> On Thu, Sep 20, 2012 at 5:35 AM, Daniel Mikusa <dmik...@vmware.com> wrote:
> 
>> On Sep 19, 2012, at 5:38 PM, Django Radonich-Camp wrote:
>> 
>>> hello.
>>> 
>>> we are running an application on tomcat and experiencing intermittent
>>> periods where the application is non-responsive and thus non-functional.
>>> the general set up is apache and tomcat, with mod_proxy_ajp as the
>>> connector (specific details and configs below).
>>> 
>>> during these events, the primary apache error log shows the following:
>>> 1. (104)Connection reset by peer: ajp_ilink_receive() can't receive
>> header
>>> 2. (70007)The timeout specified has expired: ajp_ilink_receive() can't
>>> receive header
>>> 
>>> it looks like error #1 repeats for a while and then error #2 repeats for
>> a
>>> while.
>>> 
>>> at the same time in the application specific apache error log (as
>> specified
>>> in the vhost set up for app) we see the following errors repeated (though
>>> in mixed order from below):
>>> 3. [error] ajp_read_header: ajp_ilink_receive failed
>>> 4. [error] (120006)APR does not understand this error code: proxy: read
>>> response failed from (null) (localhost)
>>> 5. [error] (120006)APR does not understand this error code: proxy: read
>>> response failed from 127.0.0.1:8009 (localhost)
>>> 6. [error] [client X.X.X.X] proxy: error processing end
>>> 
>>> and occasionally:
>>> 7. [error] proxy: read zero bytes, expecting 464 bytes
>>> 
>>> the catalina.out log registers nothing during the time period the
>>> application is unresponsive.
>>> 
>>> a couple of other things to note:
>>> - these events are coming under light to no load as far as i can tell.
>>> - these events last from about 5 to 30 minutes and then everything works
>>> again as expected with no manual intervention.
>>> - the time of day of for the events is not consistent.
>>> - these events initially occured rarely, but over the last month have
>>> ramped up to daily.
>>> 
>>> any suggestions on how to fix or further troubleshoot this problem? and
>>> thanks in advance for the help.
>> 
>> Here are a couple additional troubleshooting steps you can take on your
>> Tomcat instances...
>> 
>> 1.) Enable garbage collection logging.  Look for any full GC's.
>> 2.) Take some thread dumps during an incident.  Look for blocking.
>> 
>> Dan
>> 
>> 
>>> 
>>> below please find more information on versions and configs... let me know
>>> if more info is needed.
>>> 
>>> OS Name:        Linux (ubuntu 10.04.4)
>>> OS Version:     2.6.32-31-server
>>> Architecture:   amd64
>>> JVM Version:    1.6.0_32-b05
>>> JVM Vendor:     Sun Microsystems Inc.
>>> Server version: Apache Tomcat/6.0.24
>>> apache: Apache/2.2.14
>>> 
>>> MPM configs
>>> --------START--------------
>>> <IfModule mpm_prefork_module>
>>>  StartServers          5
>>>  MinSpareServers       5
>>>  MaxSpareServers      10
>>>  MaxClients           26
>>>  MaxRequestsPerChild  1000
>>> </IfModule>
>>> --------END----------------
>>> 
>>> balancer conf
>>> --------START--------------
>>> <Proxy balancer://mysite_balancer*>
>>>   Order deny,allow
>>>   Allow from all
>>> </Proxy>
>>> 
>>> ProxyPassMatch ^/(.+.cf[cm])(.*)?$
>> balancer://mysite_balancer/irised/client
>>> stickysession=JSESSIONID|jsessionid
>>> 
>>> ProxyPassReverseCookiePath /irised /
>>> 
>>> <Proxy balancer://mysite_balancer>
>>>   BalancerMember ajp://localhost:8009 route=www1 retry=5
>>> </Proxy>
>>> --------END----------------
>>> 
>>> connector xml
>>> --------START--------------
>>> <Connector URIEncoding="UTF-8"
>>>          port="8009"
>>>          protocol="AJP/1.3"
>>>          connectionTimeout="20000"
>>>          redirectPort="8443" />
>>> --------END----------------
>> 
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
>> For additional commands, e-mail: users-h...@tomcat.apache.org
>> 
>> 


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to