tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From JNeuhoff <neuh...@mhccorp.com>
Subject Re: Apache mod_jk memory leak?
Date Thu, 18 Jan 2007 18:17:36 GMT


> It closes the connections, but it doesn't release all objects related to 
> the corresponding cache slot. Somehow I have the feeling, that it's not 
> really worth optimizing this, because 70MB for a web server doesn't 
> sound that much relative to hardware sizes of the last years. I assume 
> you are not moving into the embedded world :)

> I've got no idea, how biig the process would be, if you would send your 
> requests just once to make the basic initializations happen. Will it be 
> much smaller than 70MB?

Yes, it starts out with a much smaller memory, around 10 to 15 MB or so,
even after a few initial connections to Tomcat from one user session.


>  > BTW.: The mod_jk 1.1.20, downloaded from
> >
> http://mirrors.dedipower.com/ftp.apache.org/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.20/mod_jk->
> apache-2.0.58.so
> > identifies itself as mod_jk/1.2.19, not as mod_jk/1.2.20 !
>
> I didn't test (I'm rarely on Win), but I had a look at the binary:
>
> - it's the same as on the origin server (downloaded a minute ago)
> - it has 1.2.20 as a version string inside and no 1.2.19
> - it's md5 checksum is:
>

I just downloaded the file (of the same name) from another mirror, and this
time it is really version 1.2.20, looks like the other mirror was corrupted
(same file name, old version).


Anyway, I made another interesting observation for both mod_jk 1.2.10 and
1.2.20: When I hammer my website rapidly with requests, by clicking too
quickly in my web browser on links within the same site, mod_jk eventually
becomes unable to receive responses from Tomcat, causing Apache2 to come
with standard Error 503 replies. I was using the workers.properties with
this:

# Define 1 real worker using ajp13
worker.list=ajp13
# Set properties for worker1 (ajp13)
worker.ajp13.type=ajp13
worker.ajp13.host=localhost
worker.ajp13.port=8009
worker.ajp13.connection_pool_timeout=600
worker.ajp13.connection_pool_minsize=10
worker.ajp13.connect_timeout=15000
worker.ajp13.prepost_timeout=10000

And only mod_jk.log had some error messages, first in increasing numbers
something like this:

....
[Thu Jan 18 17:10:20 2007] [3336:0792] [info]  jk_ajp_common.c (1410):
Writing to client aborted or client network problems
[Thu Jan 18 17:10:20 2007] [3336:0792] [info]  jk_ajp_common.c (1795):
(ajp13) request failed, because of client write error without recovery in
send loop attempt=0
....


and finally more and more of the

....
[Thu Jan 18 17:10:59 2007] [3336:0188] [info]  mod_jk.c (2063): Service
error=0 for worker=ajp13
[Thu Jan 18 17:11:00 2007] [3336:1368] [error] jk_ajp_common.c (1015):
(ajp13) can't receive the response message from tomcat, network problems or
tomcat (127.0.0.1:8009) is down -53
[Thu Jan 18 17:11:00 2007] [3336:1368] [error] jk_ajp_common.c (1536):
(ajp13) Tomcat is down or refused connection. No response has been sent to
the client (yet)
[Thu Jan 18 17:11:00 2007] [3336:1368] [info]  jk_ajp_common.c (1828):
(ajp13) receiving from tomcat failed, recoverable operation attempt=0
[Thu Jan 18 17:11:00 2007] [3336:1368] [info]  jk_ajp_common.c (1867):
(ajp13) sending request to tomcat failed,  recoverable operation attempt=1
[Thu Jan 18 17:11:00 2007] [3336:0216] [error] jk_ajp_common.c (947):
(ajp13) can't receive the response message from tomcat, network problems or
tomcat is down (127.0.0.1:8009), err=-53
[Thu Jan 18 17:11:00 2007] [3336:0216] [error] jk_ajp_common.c (1562):
(ajp13) Tomcat is down or network problems. Part of the response has already
been sent to the client
[Thu Jan 18 17:11:00 2007] [3336:0216] [info]  jk_ajp_common.c (1828):
(ajp13) receiving from tomcat failed, recoverable operation attempt=1
[Thu Jan 18 17:11:00 2007] [3336:0216] [info]  jk_ajp_common.c (1867):
(ajp13) sending request to tomcat failed,  recoverable operation attempt=2
[Thu Jan 18 17:11:00 2007] [3336:0216] [error] jk_ajp_common.c (1879):
(ajp13) Connecting to tomcat failed. Tomcat is probably not started or is
listening on the wrong port
....


Only a server re-boot cleared up the connections (there were only 2 of them
established). 

Is it possible that mod_jk can't cope with queueing too many rapidly
incoming requests? Admittedly, this doesn't happen from normal users, but a
malicious person would be able to bring down the web service this way. Are
there preventitive settings for this scenario?

Regards

J.Neuhoff

-- 
View this message in context: http://www.nabble.com/Apache-mod_jk-memory-leak--tf3023318.html#a8436127
Sent from the Tomcat - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Mime
View raw message