Re: timeout experience - why is mod_jk"s behaviour not consistent
am 31.03.2010 18:21:37 von mohitanchliaCan someone please advise why mod_jk is behaving this way? It's really
disturbing that mod_jk is not consistent in the way it functions. I
have observed way too many problems when there is a network issue or a
box failure. mod_jk doesn't detect that failure until the box is
pingable. Until then it keeps the state of the worker "OK". Only after
box comes up it changes the state to "ERR". What can be done to send
it in ERR state?
Note: We are on 1.2.27 mod_jk so can't use error_escalation.
On Tue, Mar 30, 2010 at 4:58 PM, Mohit Anchlia
> Adding below settings helped. But I am seeing weird behaviour here.
> What I am seeing is that when server is not pingable (when I reboot or
> shutdown) anymore mod_jk keeps logging errors 111 (connection refused)
> and errors 115 continuously and during this timeperiod if I look at
> "JkStatus" the State of the corresponding worker is still "OK" (which
> is incorrect in this case since server is not pingable). During this
> time period response times are still around 2-4 secs as compared to
> 300 ms. When everything is good our requests take 300 ms.
>
> Now once the server comes up (pingable) the state of the worker is
> "ERR" and at this point everything returns back to normal. So it looks
> like until server is pingable mod_jk doesn't put that worker in "ERR"
> state. So my question is what can I do in worker.properties such that
> worker goes in ERR state automatically when server or the machine
> completely goes down? It's kind of odd that mod_jk doesn't put the
> worker in ERR state when the box that worker is tied to is not
> pingable?
>
>
> worker.template.socket_connect_timeout=5000
> worker.template.connection_pool_minsize=0
> worker.template.connection_pool_timeout=20
> worker.template.recovery_options=7
>
> On Tue, Mar 30, 2010 at 1:58 PM, Mohit Anchlia
>> I see this in mod_jk logs:
>>
>> --
>> [Tue Mar 30 13:18:29.862 2010] [13058:4143291040] [error]
>> ajp_send_request::jk_ajp_common.c (1467): (host2532) connecting to
>> backend failed. Tomcat is probably not started or is listening on the
>> wrong port (errno=111)
>> --
>>
>> And after this point our response time on the client side skyrocket.
>> And we keep getting hundreds of above error every second. Question is
>> why would the worker not taken out of service? My assumption is as
>> soon as it detects this worker is taken out of service.
>>
>> worker.tc.type=lb
>> worker.tc.balance_workers=host2532,host2533
>> worker.tc.sticky_session=true
>>
>>
>> On Tue, Mar 30, 2010 at 11:37 AM, Mohit Anchlia
>>> Apache 2.2.11
>>>
>>> I am reviewing the timeout values in worker.properties because
>>> currently if one node out of so many other nodes in a jboss cluster
>>> reboots or dies then we see that connection piles up on the web
>>> server. It looks like it's because of retries and and prepost_timeout
>>> that lot of requests hang. What I am looking for is correct settings
>>> that will take worker out of service if node is not reachable and
>>> pings every 7 seconds if node is up or not.
>>>
>>> These are my current settings and I think this is what I need to do
>>>
>>> change:
>>>
>>> worker.host2533.type=ajp13
>>> worker.host2533.port=8009
>>> worker.host2533.host=host2533
>>> worker.host2533.socket_timeout=5
>>> worker.host2533.socket_keepalive=true
>>> worker.host2533.prepost_timeout=5
>>> worker.host2533.connect_timeout=5000
>>> worker.host2533.retries=3
>>> worker.host2533.recycle_timeout=900
>>>
>>>
>>> to - basically remove retries so that it doesn't cause long hangs when
>>> server is down.
>>>
>>> worker.host2533.type=ajp13
>>> worker.host2533.port=8009
>>> worker.host2533.host=host2533
>>> worker.host2533.socket_keepalive=true
>>> worker.host2533.connect_timeout=5000
>>> worker.host2533.recycle_timeout=900
>>>
>>> I don't see a value in connector timeout manual that checks every 7
>>> sec and leave worker out of service for 7 secs. Could you please let
>>> me know if mod_jk timeout configuration support such a thing that I am
>>> trying to do?
>>>
>>
>
------------------------------------------------------------ ---------
The official User-To-User support forum of the Apache HTTP Server Project.
See
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
" from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org