tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Maureen Fisher <m...@cornell.edu>
Subject RE: mod_jk / Ajp13 config fix on heavily loaded system
Date Wed, 14 Nov 2001 20:38:47 GMT
We are currently experiencing heavy load using ajpv13.
We had set those parameters as Henri specified as 100, 50 and 20 and still 
she died.

We went back to 12 and experienced same problems.

My questions are:
1) Like apache has the built-in monitor (server-status)  where you can 
watch the states of open threads to the web server, does tomcat offer 
anything like that?

2) how do you insert time/date in mod_jk.log as Henri's snippet includes? I 
have tried
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "

but apache complains
"Syntax error on line 295:
Invalid command 'JkLogStampFormat', perhaps mis-spelled or defined by a 
module not included in the server configuration
./apachectl startssl: httpd could not be started"

3) How do I determine what version of mod_jk.so I am using? My system was 
built for us by our systems group.
Here is the file size:
-rwxr-xr-x   1 root     systems   141624 Feb 05 2001  mod_jk.so


Using jdk 1.3.0 under AIX
Apache 1.3.14
Tomcat 3.2.2
ajpv13


At 10:04 AM 11/14/2001 -0800, Travis Schmid wrote:


> > -----Original Message-----
> > From: Schulz, Sebastian, fiscus GmbH, Bonn
> > [mailto:Sebastian.Schulz@BONN.FISCUS.DE]
> > Sent: Wednesday, November 14, 2001 1:19 AM
> > To: 'tomcat-user@jakarta.apache.org'
> > Subject: AW: mod_jk / Ajp13 config fix on heavily loaded system
> >
> >
> > what's about loadbalancing?
> >
> > say, we have defined local loadbalancing using
> > 5 ajp13-worker at workers.properties, and we
> > have at server.xml:
> > <Ajp13Connector port="8009"
> >                          maxThreads="100"
> >                          maxSpareThreads="50"
> >                          minSpareThreads="10" />
> >
> > Does this mean, we can support through the
> > loadbalancer 100 threads or 500 threads
> > (100 * number of workers(5) = 500)?
> >
>500 threads total.  100 per worker/Tomcat
>
> > b.t.w, another question:
> > when using local loadbalancing, does every
> > worker has its own VM or are they sharing
> > all the same VM?
> >
>
>I had this question myself.  I think I have it figured out now but feel free
>to correct me anyone that understands this better.
>The workers are threads/groups of threads that are running within the web
>servers memory space.  They seem to be threads communicating on a particular
>port with an open socket to a Tomcat instance.  Each separate Tomcat
>instance has its own VM and is listening on a different port number/host
>combination.  I don't think the workers actually do much work.  They just
>take the information they are given, transmit it to the Tomcat instance, and
>hand the reply information from Tomcat back to the web server.  All the real
>work is done within the Tomcat instances (each of which can have their own
>VM).
>
>Travis
>
> > thank you,
> > sebastian
> >
> > -----Urspr√ľngliche Nachricht-----
> > Von: GOMEZ Henri [mailto:hgomez@slib.fr]
> > Gesendet: Dienstag, 13. November 2001 23:45
> > An: Tomcat Developers List
> > Cc: tomcat-user@jakarta.apache.org
> > Betreff: mod_jk / Ajp13 config fix on heavily loaded system
> >
> >
> > Hi to all,
> >
> > Some of you may have experienced problems on heavily
> > loaded system with mod_jk and Tomcat 3.2/3.3 when using
> > ajp13.
> >
> > As you may know, the Ajp13 connection is permanent
> > and is created each time a WebServer task, for
> > example an Apache child, have to forward a request
> > to Tomcat.
> >
> > And in Apache server case, the child will stay alive,
> > until the client requests load decrease, or when
> > a child have passed 1000 requests (MaxRequestsPerChild 1000).
> > And till the child close the connection, the Tomcat thread
> > stay alive.
> >
> > By default Apache server support up to 150 childs :
> > (MaxClients 150 in httpd.conf)
> >
> > But by default, the Ajp13 Interceptor won't use more
> > than 100 threads, so you're stuck when the 101th Apache
> > child want to forward a request and see the following
> > infamous trace in mod_jk.log :
> >
> > [wed oct 31 11:03:21 2001]  [jk_ajp13_worker.c (196)]: In
> > jk_endpoint_t::connect_to_tomcat, failed errno = 111
> > [wed oct 31 11:03:21 2001]  [jk_ajp13_worker.c (635)]: Error
> > connecting
> > to the Tomcat process.
> > [wed oct 31 11:03:21 2001]  [jk_ajp13_worker.c (848)]: In
> > jk_endpoint_t::service, send_request failed in send loop 2
> > [wed oct 31 11:03:21 2001]  [jk_ajp13_worker.c (228)]:
> > connection_tcp_get_message: Error - jk_tcp_socket_recvfull failed
> > [wed oct 31 11:03:21 2001]  [jk_ajp13_worker.c (712)]: Error reading
> > reply
> > [wed oct 31 11:03:21 2001]  [jk_ajp13_worker.c (845)]: In
> > jk_endpoint_t::service, get_reply failed in send loop 0
> > [wed oct 31 11:03:21 2001]  [jk_connect.c (143)]: jk_open_socket,
> > connect() failed errno = 111
> > [wed oct 31 11:03:21 2001]  [jk_ajp13_worker.c (196)]: In
> > jk_endpoint_t::connect_to_tomcat, failed errno = 111
> > [wed oct 31 11:03:21 2001]  [jk_ajp13_worker.c (635)]: Error
> > connecting
> > to the Tomcat process.
> >
> > In some case, Apache could be able to connect, since Tomcat listening
> > thread will accept incoming connection, but will drop it later if it
> > fail to give the socket to a new thread. In that case you'll see
> > only in log :
> >
> > [wed oct 31 11:03:21 2001]  [jk_ajp13_worker.c (848)]: In
> > jk_endpoint_t::service, send_request failed in send loop 2
> > [wed oct 31 11:03:21 2001]  [jk_ajp13_worker.c (228)]:
> > connection_tcp_get_message: Error - jk_tcp_socket_recvfull failed
> > [wed oct 31 11:03:21 2001]  [jk_ajp13_worker.c (712)]: Error reading
> > reply
> >
> > Fortunatly, the fix is easy, just configure Ajp13Connector in
> > server.xml to support up to 150 threads (or whatever you define
> > as MaxClients in Apache, didn't know how on IIS/iPlanet).
> >
> >         <Ajp13Connector port="8009"
> >                          maxThreads="150"
> >                          maxSpareThreads="50"
> >                          minSpareThreads="10" />
> >
> > Also you should take care of the number of descriptors
> > opened in your webapplication, which is :
> >
> >   Tomcat used descriptors (sockets, files)
> > + YouWebApp descriptors (files, sockets, jdbc...)
> >
> > The JVM, like any others process have a limit on the number
> > of descriptors it could open (and of course on number of threads).
> >
> > So take care of closing no more used socket, files and so on.
> >
> >
> > -
> > Henri Gomez                 ___[_]____
> > EMAIL : hgomez@slib.fr        (. .)
> > PGP KEY : 697ECEDD    ...oOOo..(_)..oOOo...
> > PGP Fingerprint : 9DF8 1EA8 ED53 2F39 DC9B 904A 364F 80E6
> >
> > --
> > To unsubscribe, e-mail:
> > <mailto:tomcat-dev-unsubscribe@jakarta.apache.org>
> > For additional commands, e-mail:
> > <mailto:tomcat-dev-help@jakarta.apache.org>
> >
> > --
> > To unsubscribe:   <mailto:tomcat-user-unsubscribe@jakarta.apache.org>
> > For additional commands: <mailto:tomcat-user-help@jakarta.apache.org>
> > Troubles with the list: <mailto:tomcat-user-owner@jakarta.apache.org>
> >
>
>--
>To unsubscribe:   <mailto:tomcat-user-unsubscribe@jakarta.apache.org>
>For additional commands: <mailto:tomcat-user-help@jakarta.apache.org>
>Troubles with the list: <mailto:tomcat-user-owner@jakarta.apache.org>

========================================================
Maureen Fisher, CIT/ID, Cornell University
Ithaca, NY 14850
mf12@cornell.edu
http://mo.cit.cornell.edu/

Treat people as if they were what they ought to be and you help them
to become what they are capable of being.
--Johann Wolfgang von Goethe


--
To unsubscribe:   <mailto:tomcat-user-unsubscribe@jakarta.apache.org>
For additional commands: <mailto:tomcat-user-help@jakarta.apache.org>
Troubles with the list: <mailto:tomcat-user-owner@jakarta.apache.org>


Mime
View raw message