Date: Sat, 26 Nov 2005 11:36:16 +1100 From: Michael Vince <mv@roq.com> To: Clement Laforet <sheepkiller@cultdeadsheep.org> Cc: apache@freebsd.org Subject: Re: Weird threads problem Message-ID: <4387AE00.4010604@roq.com> In-Reply-To: <20051125153813.GB32924@goofy.cultdeadsheep.org> References: <4386793A.3090202@roq.com> <20051125153813.GB32924@goofy.cultdeadsheep.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4387AE00.4010604>