On 02.02.2009 20:01, Jorge Medina wrote:
   I am having problems with the mod_jk module 1.2.26 and Tomcat Native
connectors running in Solaris 10.
   The problem occurs in both processors x86 (64-bit) and sparc (64-bit).
(The problem does not occur on RedHat EL5 64-bit).

   On the mod_jk workers.properties file I am specifying a value for
reply_timeout:

     worker.localworker.reply_timeout=10000    (10 seconds)

   I am anticipating that some requests would need more time, so I
decided to run my test suite just increasing the value to 30000.
   Oddly, with this value and running the same set of tests I get
sporadic errors. The mod_jk log shows the following message when this
occurs:

    [error] ajp_get_reply::jk_ajp_common.c (1730) : (localworker) Timeout
with waiting reply from tomcat. Tomcat is down, stopped or nertwork
problems (errno=145)


    I am using the following components:
         Apache Web Server 2.2.11
                 APR 1.3.3
                 APR-util 1.3.4
                 openssl-0.9.8
                 mod_jk    1.2.26

Before debugging a problem you might consider switching to 1.2.27, because once everything works, you'll most likely not do the upgrade ;)

         Tomcat 6.0.16
                 Tomcat Native Connectors 1.1.12 (using same APR version
as Apache)

Please update to 1.1.16. There have been a couple of fixes in tcnative.

                 jsvc
                 Sun Java JDK 1.6

     I also found that the problem only occurs if the Tomcat Native
Connectors is enabled in Tomcat.

     I can't figure why increasing the reply timeout would actually
produce the errors it is supposed to prevent!!

I don't really understand: why do you think the timeout produces the problem? Setting the timeout means, that any reply taking longer than the timeout will be interrupted inside Apache and logged. So setting no timeout will not produce any log statements (by default the timeout is off), but I expect that you will still have long running requests.

To find out about the response times and the requests with long response times, add "%D" to your Apache LogFormat (response times in microseconds) and activate an access log in tomcat too, with a pattern that also contains "%D" 8response times in milliseconds). That way you can control during your tests, what tomcat resp. Apache think the response time actually was.

After verifying that Tomcat actually needs to long for some requests, you need to start to analse why (locking in application, waiting for backend or database, etc.). You can use Java thread dumps for this (kill -QUIT).

     Any help is appreciated. I would like to benefit from the Tomcat
Native Connectors, but I can't figure what I am configuring wrong.

Try 1.1.16.

     -----------------------------------------------
     Below is my workers.properties ...
     -----------------------------------------------

worker.list= wlb, jkwatch, jkmanage
# Properties for worker: localworker
worker.localworker.type=ajp13
worker.localworker.host=localhost
worker.localworker.port=8009
worker.localworker.lbfactor=1
worker.localworker.connection_pool_timeout=600
worker.localworker.socket_keepalive=True
worker.localworker.socket_timeout=60
################### this parameter causes trouble if increased to 30000
worker.localworker.reply_timeout=10000
#################################

# Defining a load balancer (with a single worker, the local worker)
worker.wlb.type=lb
worker.wlb.balance_workers=localworker
worker.wlb.max_reply_timeouts=3

I would add cping/cpong. See

http://tomcat.apache.org/connectors-doc/generic_howto/timeouts.html

-----------------------------------------------
   ... and here is the segment of server.xml
-----------------------------------------------

  <Connector port="8009"
                protocol="AJP/1.3"
                connectionTimeout="600000"
                enableLookups="false"
                bufferSize="32768"
                maxThreads="3000"/>


- Jorge

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

Reply via email to