On Sun, 29 Feb 2004, Justin Erenkrantz wrote: > --On Sunday, February 29, 2004 4:06 PM -0400 "Marc G. Fournier" > <[EMAIL PROTECTED]> wrote: > > > k, if I'm understanding what you are saying, how do you test something > > like that in a way that you can debug it? What I'm reading is that if I > > sent two queries (GET / and, say, GET /subdir), there is a chance that the > > one that sent GET / will get the results for GET /subdir? > > No, that's not quite the problem. It is: > > 1. Client requests GET / > 2. *nothing happens* > 3. Client (same or different) requests GET /subdir/ > 4. Server responds to GET / request issued in #1 (to the correct client) > 5. *nothing happens* > 6. Someone requests GET /subdir/foo/ issued in #3 > 7. Server responds to GET /subdir/ request > 8. *nothing happens* > ...repeat cycle... > > Does this make more sense? The server won't respond to the first request > until the second request is issued and so on. We think it's a flaw in how > libc_r implements the pthread condition variables. But, again, it's been > fixed with the thread library rewrites in 5.2. -- justin
'k, this makes more sense ... but, is there no way to 'trigger' it to debug? As I said, I ran http_load at it, oh, wait, I wouldn't see the problem with http_load, since, of course, its getting hit one after the other, so masking it ... but, again, there has to be a trigger somewhere, because results of http_load: 1981 fetches, 1017 max parallel, 2.99152e+06 bytes, in 30.0021 seconds 1510.11 mean bytes/connection 66.0286 fetches/sec, 99710.4 bytes/sec msecs/connect: 1688.24 mean, 16187.5 max, 152.65 min msecs/first-response: 1578.06 mean, 18004.3 max, 168.112 min 9 bad byte counts HTTP response codes: code 200 -- 1972 so I've effectively 'pounded' the server, followed by a telnet session to the same server doing a 'GET /' and it returned right away: 24.222.46.208 - - [01/Mar/2004:11:32:32 -0400] "GET / HTTP/1.0" 200 1517 "-" "http_load 04jan2002" 24.222.46.208 - - [01/Mar/2004:11:32:42 -0400] "GET /" 200 1517 "-" "-" checking my server: pluto# /usr/local/sbin/httpd -l Compiled in modules: core.c worker.c http_core.c mod_so.c I believe I'm compiled right ... checking my backends, I seem to have alot more then I'm expecting to have: pluto# ps auxl | grep 10231 root 10231 0.0 0.0 2296 1420 ?? Ss 4Feb04 3:47.82 /usr/local/sbin/ 0 10231 1 0 2 0 2296 1420 select Ss ?? 3:47.82 /usr/local/sbin/httpd www 10265 0.0 0.0 2720 1784 ?? I 4Feb04 0:03.80 /usr/local/sbin/ 80 10265 10231 0 2 0 2720 1784 accept I ?? 0:03.80 /usr/local/sbin/httpd www 10266 0.0 0.0 2648 1724 ?? I 4Feb04 0:03.91 /usr/local/sbin/ 80 10266 10231 0 2 0 2648 1724 accept I ?? 0:03.91 /usr/local/sbin/httpd www 10267 0.0 0.0 2720 1780 ?? I 4Feb04 0:04.12 /usr/local/sbin/ 80 10267 10231 0 2 0 2720 1780 accept I ?? 0:04.12 /usr/local/sbin/httpd www 10268 0.0 0.0 2648 1736 ?? I 4Feb04 0:03.74 /usr/local/sbin/ 80 10268 10231 0 2 0 2648 1736 accept I ?? 0:03.74 /usr/local/sbin/httpd www 10269 0.0 0.0 2644 1760 ?? I 4Feb04 0:03.86 /usr/local/sbin/ 80 10269 10231 0 2 0 2644 1760 accept I ?? 0:03.86 /usr/local/sbin/httpd www 13919 0.0 0.0 2644 1756 ?? I 4Feb04 0:04.26 /usr/local/sbin/ 80 13919 10231 0 2 0 2644 1756 accept I ?? 0:04.26 /usr/local/sbin/httpd www 52484 0.0 0.0 2644 1728 ?? I 5Feb04 0:03.93 /usr/local/sbin/ 80 52484 10231 0 2 0 2644 1728 accept I ?? 0:03.93 /usr/local/sbin/httpd www 31428 0.0 0.0 2644 1748 ?? I 7Feb04 0:03.82 /usr/local/sbin/ 80 31428 10231 0 2 0 2644 1748 accept I ?? 0:03.82 /usr/local/sbin/httpd www 31452 0.0 0.0 2644 1740 ?? I 7Feb04 0:03.71 /usr/local/sbin/ 80 31452 10231 0 2 0 2644 1740 accept I ?? 0:03.71 /usr/local/sbin/httpd www 85079 0.0 0.0 2644 1732 ?? I 17Feb04 0:03.71 /usr/local/sbin/ 80 85079 10231 0 2 0 2644 1732 accept I ?? 0:03.71 /usr/local/sbin/httpd www 57616 0.0 0.0 2572 1736 ?? I 11:31AM 0:00.20 /usr/local/sbin/ 80 57616 10231 0 2 0 2572 1736 accept I ?? 0:00.20 /usr/local/sbin/httpd www 57619 0.0 0.0 2572 1736 ?? I 11:31AM 0:00.16 /usr/local/sbin/ 80 57619 10231 0 2 0 2572 1736 accept I ?? 0:00.16 /usr/local/sbin/httpd www 57620 0.0 0.0 2572 1736 ?? I 11:31AM 0:00.16 /usr/local/sbin/ 80 57620 10231 0 2 0 2572 1736 accept I ?? 0:00.16 /usr/local/sbin/httpd www 57627 0.0 0.0 2572 1736 ?? I 11:31AM 0:00.12 /usr/local/sbin/ 80 57627 10231 0 2 0 2572 1736 accept I ?? 0:00.12 /usr/local/sbin/httpd www 57628 0.0 0.0 2572 1736 ?? I 11:31AM 0:00.12 /usr/local/sbin/ 80 57628 10231 0 2 0 2572 1736 accept I ?? 0:00.12 /usr/local/sbin/httpd www 57629 0.0 0.0 2572 1736 ?? I 11:31AM 0:00.17 /usr/local/sbin/ 80 57629 10231 0 2 0 2572 1736 accept I ?? 0:00.17 /usr/local/sbin/httpd www 57630 0.0 0.0 2572 1736 ?? I 11:31AM 0:00.09 /usr/local/sbin/ 80 57630 10231 0 2 0 2572 1736 accept I ?? 0:00.09 /usr/local/sbin/httpd www 57636 0.0 0.0 2572 1736 ?? I 11:31AM 0:00.10 /usr/local/sbin/ 80 57636 10231 0 2 0 2572 1736 accept I ?? 0:00.10 /usr/local/sbin/httpd www 57637 0.0 0.0 2572 1736 ?? I 11:31AM 0:00.09 /usr/local/sbin/ 80 57637 10231 0 2 0 2572 1736 accept I ?? 0:00.09 /usr/local/sbin/httpd www 57638 0.0 0.0 2572 1736 ?? I 11:31AM 0:00.12 /usr/local/sbin/ 80 57638 10231 0 2 0 2572 1736 accept I ?? 0:00.12 /usr/local/sbin/httpd www 57639 0.0 0.0 2572 1736 ?? I 11:31AM 0:00.10 /usr/local/sbin/ 80 57639 10231 0 2 0 2572 1736 accept I ?? 0:00.10 /usr/local/sbin/httpd www 57640 0.0 0.0 2572 1736 ?? I 11:31AM 0:00.12 /usr/local/sbin/ 80 57640 10231 0 2 0 2572 1736 accept I ?? 0:00.12 /usr/local/sbin/httpd so am I mis-configuring something? I'm running the default httpd.conf, and the worker stuff is setup as: <IfModule worker.c> StartServers 2 MaxClients 150 MinSpareThreads 25 MaxSpareThreads 75 ThreadsPerChild 25 MaxRequestsPerChild 0 </IfModule> so I would have expected no more then 4 processes to be running, no? I'm guessing that the MaxRequestsPerChild == 0 means unlimited? ---- Marc G. Fournier Hub.Org Networking Services (http://www.hub.org) Email: [EMAIL PROTECTED] Yahoo!: yscrappy ICQ: 7615664