tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alexander Diedler <adied...@tecracer.de>
Subject AW: Missing files for mod_jk
Date Mon, 08 Feb 2010 11:26:55 GMT
Hello again,

>Under Windows, Apache has a single child, multi-threaded.
>In Alexander's configuration, the maximum number of threads for Apache 
>is set at 1920 (?).
>That in itself already looks to me like a big number, but I don't know 
>the real load of the server.
>The question here is whether ALL requests going through Apache get 
>passed through to Tomcat via mod_jk, and whether there are requests to 
>Tomcat that go directly to Tomcat without going through Apache.

If the errors occours, we take a look at Windows process manager and make the Threads per
process visible. The httpd.exe has 1922 Threads, so I can understand, if the Apache says "no"
to incoming connection (ThreadLimit is 1920). But what is the reason for the longtime open
connections. My understand is, that connections will be closed automatically after a period
of seconds.
We redirect EVERYTHING to the Tomcat "JkMount /* loadbalancer" and UnMount static content
like gif,jpg,css,js,doc,xls,pdf etc. In normal workday there should be max 100 users per hour
on this system.


In the Apache server-status I can see:


Apache StatusApache Server Status for 127.0.0.1
  Server Version: Apache/2.2.14 (Win32) mod_jk/1.2.27 
  Server Built: Sep 28 2009 22:41:08 



  Current Time: Saturday, 06-Feb-2010 13:36:38 W. Europe Standard Time 
  Restart Time: Friday, 05-Feb-2010 16:52:01 W. Europe Standard Time 
  Parent Server Generation: 1 
  Server uptime: 20 hours 44 minutes 37 seconds 
  Total accesses: 56596 - Total Traffic: 989.5 MB 
  .758 requests/sec - 13.6 kB/second - 17.9 kB/request 
  681 requests currently being processed, 1239 idle workers 
________________________________________________________________
________________________________________________________________
________________________________________________________________
CW_WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW_W__________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
______________________________________W_______________W_W___W__W
Scoreboard Key:
"_" Waiting for Connection, "S" Starting up, "R" Reading Request,
"W" Sending Reply, "K" Keepalive (read), "D" DNS Lookup,
"C" Closing connection, "L" Logging, "G" Gracefully finishing,
"I" Idle cleanup of worker, "." Open slot with no current process

But the order of the "Sending Reply" is very unusual. I know a random order of "Sending reply"
in this view.



-----Urspr√ľngliche Nachricht-----
Von: André Warnier [mailto:aw@ice-sa.com] 
Gesendet: Freitag, 5. Februar 2010 18:16
An: Tomcat Users List
Betreff: Re: Missing files for mod_jk

Caldarale, Charles R wrote:
>> From: Alexander Diedler [mailto:adiedler@tecracer.de]
>> Subject: AW: Missing files for mod_jk
>>
>> Sorry, it is 1024 KB, sure, just to fast tipped into the keyboard.
> 
> So again, why did you change it from the default?
> 
>> worker.list= worker3,loadbalancer,jkstatus
> 
> I see no declarations for worker3.
> 
>> ok, I adjust maxThreads to 1000
> 
> I'm certainly not an expert in configuring mod_jk, but don't you need to keep the AJP
<Connector> maxThreads setting in sync with the worker.worker?.connection_pool_size
setting?  Picking arbitrary values will get you into trouble.
> 
 From the mod_jk docs (workers.properties) :

connection_pool_size :
Usually this is the same as the number of threads per web server 
process. JK will discover this number for the Apache web server 
automatically and set the pool size to this value.

Under Windows, Apache has a single child, multi-threaded.
In Alexander's configuration, the maximum number of threads for Apache 
is set at 1920 (?).
That in itself already looks to me like a big number, but I don't know 
the real load of the server.
The question here is whether ALL requests going through Apache get 
passed through to Tomcat via mod_jk, and whether there are requests to 
Tomcat that go directly to Tomcat without going through Apache.

If all requests go through Apache, and all of them then go from Apache 
to Tomat, then I would say that the number of threads in Apache should 
be set to roughly the number of expected maximum concurrent requests, 
and that the maxThreads of the AJP Connector in Tomcat should be set to 
the same number.
That is, the total number of threads in the two Tomcats, because the 
Apache/mod_jk is balancing between them.
And also because each Apache thread will make maximum one connection to 
one Tomcat thread. (Each Apache thread + connection + Tomcat thread may 
process more than one request however, if there are KeepAlive 
connections involved).

Then I would let this run for a while, and examine the Apache logs, and 
the mod_jk log at the Apache level.  Either one of them will record 
whether there are cases were the threads setting is too low, and 
requests are being turned away.

Also, assuming that these parameters :
Initial memory pool: 256 MB
Maximum memory pool : 1024 MB
are actually equivalent to -Xms and -Xmx settings of the JVM, I would 
set them equal both to the same value, to gain some efficiency.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@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