Here is some sample output from the system-status:
Srv PID Acc M CPU SS Req Conn Child Slot
Client VHost Request
0-0 2096 0/50/50 _ 0.01 23 2 0.0 0.09 0.09 X web1.opterus.com GET /
lbcheck.faces HTTP/1.0
1-0 2097 0/12/12 W 0.01 513 0 0.0 0.05 0.05 X web1.opterus.com GET /
HTTP/1.1
2-0 2098 0/24/24 W 0.00 450 0 0.0 0.01 0.01 X web1.opterus.com GET /
login.faces HTTP/1.1
3-0 2099 0/39/39 W 0.01 207 0 0.0 0.06 0.06 X web1.opterus.com GET /
HTTP/1.1
4-0 2100 0/11/11 W 0.00 518 0 0.0 0.01 0.01 X web1.opterus.com GET /
HTTP/1.1
5-0 2101 0/31/31 W 0.00 271 0 0.0 0.06 0.06 X web1.opterus.com GET /
HTTP/1.0
The 'Get /' is from my data center provider, it's a piece of
monitoring software, but it looks like it doesn't wait for a response,
because the processes
are stuck in writing, and apache doesn't seem to realize the
connection is gone, as you can see some of the SS times are over 10
minutes, which is longer than
all my timeout settings...
Is there any way to make apache realize the connections are gone? I
will talk to the provider about what they see on their end....
Cheers,
Ian Long
Chief Software Architect, Opterus Inc.
Email: ian.l...@opterus.com
Phone: 416-840-8495 x666
Mobile: 416-817-9206
Web: http://www.opterus.com
On 5-Mar-09, at 4:03 PM, Rainer Jung wrote:
On 05.03.2009 21:04, Ian Long wrote:
I haven't actually - I will turn it on and restart the server
tonight.
Another thing that I find strange is the apache (using prefork MPM)
seems to keep increasing the number of child processes. For example,
when I run:
service httpd status
httpd (pid 31093 31055 31048 31047 31046 31045 31044 31043 31042
31036
30922 30919 30860 30853 30769 30753 30733 30728 30690 30684 30653
30652
30637 30555 30440 30439 30438 30421 30383 30348 30312 30310 30309
30271
30177 30158 30157 30086 30063 30057 29906 29905 29904 29796 29795
29794
29793 29791 29790 29701 29639 29638 29633 29600 29547 29530 29529
29491
29489 29480 29443 29442 29441 29440 29397 29396 29394 29358 29357
29351
29304 29270 29191 29190 29184 29138 29137 29116 29115 29051 29012
29007
29002 28966 28959 28957 28911 28904 28903 28897 28893 28848 28809
28807
28796 28790 28782 28773 28734 28719 28645 28544 28543 28542 28475
28474
28473 28471 28470 28428 28403 28365 28363 28325 28319 28318 28316
28315
28314 28271 28269 28228 28184 28183 28138 28132 28125 28063 28022
28016
28015 28014 28013 28011 27968 27966 27965 27964 27963 27882 27836
27815
27777 27776 27689 27688 27687 27672 27671 27617 27615 27610 27568
27567
27560 27559 27523 27522 27521 27477 27476 27475 27474 27473 27467
27466
27465 27464 27457 27456 27455 27454 26439 26222 26045 26003 25855
25854
25853 25852 25851 25850 25849 25848 25846) is running...
the number of processes is always increasing....
That's definitely something to worry about. Your configuration lets
us expect only 20 idle processes. So either the configuration is
something different, or those processes are not idle.
What does the httpd server-status tell you? Are those processes
working on something?
They are most likely the reason for the many established
connections, so it will be interesting to find out, what they do.
You can also use gstack or gdb to look at the stack of some of them
and get an idea, what they do. In case they are inside mod_jk and
wait for an answer from the backend, do a "kill -QUIT" on the Tomcat
and look in catalina.out. It will contain a list of all Tomcat
threads and for each thread the full method stack, so you can see,
whether they are running requests, and what it is they are working
on or waiting for.
Regards,
Rainer
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org