Daemon News Ezine BSD News BSD Mall BSD Support Forum BSD Advocacy BSD Updates

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Weird threads problem



Clement Laforet wrote:

On Fri, Nov 25, 2005 at 01:38:50PM +1100, Michael Vince wrote:
I am building apache2 with worker mode using something like this
portupgrade -NRr -m 'WITH_MPM=worker -DWITH_PROXY_MODULES' /usr/ports/www/apache2

With 'ExtendedStatus On' I have noticed that after doing a apache benchmark test with 'ab' I see a lot of stuck http gets in /server-status listing I can leave the apache2 server untouched for days but they still remain there, doing a apachectl graceful doesn't make them go away either.
This only appears to be happening with worker MPM on and not prefork.
Does any one know if this is some kind of stuck thread problem or what?

Which version of apache and FreeBSD do you use? if FreeBSD >5.x which threading library is used?

thanks
clem
The machine is 6.0-Release on i386 dual pentium 4 SMP
I been doing my testing on both libpthread and libthr

The testing I have been doing is this
ab -k -n 25500 -c 900 http://server/338kbyte.file

I have tried enabling libthr with this below in libmap.conf and restarting Apache2 and have noticed that libthr can serve the requests in a far less amount of load (35 for libpthread and around 4.5 for libthr) With libthr it actually has less stuck listed gets (892) after a few refreshes of /server-status
wget -q -O - http://localhost/server-status | grep -c "338k"
892

With libpthread it sits at 900 full stuck get lists in /server-status , no amounts of refreshes ever decrease the number.
wget -q -O - http://localhost/server-status | grep -c "338k"
900

libmap.conf
[/usr/local/sbin/httpd]
libpthread.so.2         libthr.so.2
libpthread.so           libthr.so


On the good side of things the ab output says that all requests were completed correctly, the test is done from another FreeBSD box.


ab -k -n 25500 -c 900 http://server/338kbyte.file
This is ApacheBench, Version 2.0.41-dev <$Revision: 1.121.2.12 $> apache-2.0
Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright (c) 1998-2002 The Apache Software Foundation, http://www.apache.org/

Benchmarking server (be patient)
Completed 2550 requests
Completed 5100 requests
Completed 7650 requests
Completed 10200 requests
Completed 12750 requests
Completed 15300 requests
Completed 17850 requests
Completed 20400 requests
Completed 22950 requests
Finished 25500 requests


Server Software:        Apache/2
Server Hostname:        server
Server Port:            80

Document Path:          /338kbyte.file
Document Length:        338141 bytes

Concurrency Level:      900
Time taken for tests:   74.539460 seconds
Complete requests:      25500
Failed requests:        0
Write errors:           0
Keep-Alive requests:    25500
Total transferred:      8745188465 bytes
HTML transferred:       8737830199 bytes
Requests per second:    342.10 [#/sec] (mean)
Time per request:       2630.804 [ms] (mean)
Time per request:       2.923 [ms] (mean, across all concurrent requests)
Transfer rate:          114573.18 [Kbytes/sec] received

Connection Times (ms)
             min  mean[+/-sd] median   max
Connect:        0   42 1081.2      0   34206
Processing:    59 2467 1508.0   2188   14334
Waiting:        4   90 336.9     18    4469
Total:         59 2509 1860.8   2197   41153

Percentage of the requests served within a certain time (ms)
 50%   2197
 66%   2818
 75%   3264
 80%   3572
 90%   4486
 95%   5352
 98%   6528
 99%   7370
100%  41153 (longest request)

Regards,
Mike