1

I have a problem with an apache who's stalling with too much requests. When I take a look at the server-status page I can see that most of the connections are in state "Reading Request", but do not finish. When I do a graceful restart, all of the "Reading Request"-connections disappear. Because the restart does not take long, I belief the connections are not used any more.

The apache is filling up with these request over some time (> 30 minutes). But when the connections are not used any more, I would expect some timeout to kill these connections, but this does not happen or the timeout is too big.

Does anyone know which timeout should kill these connections or am I searching at the wrong point?

Some details to the setup:
apache 2.0.55 on HP-UX with mod_jk 1.2.10
Most of the connections in state "Reading Request" are connections to an tomcat backend over mod_jk (client --> HP-UX apache --> Tomcats), but not all of them.
I know that mod_jk is a very old version, it is planned to be updated soon.

But I do not suspect mod_jk, because the same effect appears when redirecting the connections to another apache with newer mod_jk and then redirecting the connections to the tomcats (client --> HP-UX apache --> Linux apache --> Tomcats). It is always the HP-UX apache filling up with "RR"-connections.

1
  • But I do not suspect mod_jk, because the same effect appears when redirecting the connections to another apache with newer mod_jk and then redirecting the connections to the tomcats. But in the end, you're still connecting to the same Tomcat application on the backend, right? This seems to implicate the Tomcat application even more. Oct 12, 2010 at 3:38

2 Answers 2

1

What is your workers.properties file content? Do you try to use socket_timeout?

  socket_timeout    0   Socket timeout in seconds used for the communication
                        channel between JK and remote host. If the remote host
                        does not respond inside the timeout specified, JK will
                        generate an error, and retry again. If set to zero
                        (default) JK will wait for an infinite amount of time on
                        all socket operations.

By default the socket_timeout is infinite.

1
  • Agreed. Apache is probably not the cause here, it's more likely Tomcat. But, since the web clients go through Apache, you see the stalled symptoms in Apache. Oct 12, 2010 at 3:34
0

What are the timeout values for Apache in httpd.conf? And is keepalive on or off? Having a too long TimeOut would easily do the thing you are currently seeing.

1
  • 1
    it's not the apache timeout value, but the mod_jk timeout value. it's either the socket_timeout option mentioned by Maxfer or the connection_pool_timeout setting.
    – Christian
    Aug 12, 2010 at 12:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.