Im using this for php.. LoadModule php4_module modules/libphp4.so not sure if that is mod_php or what
I tried using strace but my server was going extremly slow when I started it probably because we get so much traffic so i couldnt debug it... I did run the gdb on a process and got this.. #0 0x003307a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2 #1 0x00408dbd in poll () from /lib/tls/libc.so.6 #2 0x00af595f in apr_poll (aprset=0xbfe55310, num=1, nsds=0xbfe5530c, timeout=300000) at poll.c:130 #3 0x00af5d5f in apr_wait_for_io_or_timeout (f=0x0, s=0x959b4a8, for_read=1) at waitio.c:54 #4 0x00aec19c in apr_socket_recv (sock=0x959b4a8, buf=0x9624688 "\n# AddHandler application/x-httpd-php .php .sc\r\nIndexIgnore .htaccess */.??* *~ *# */HEADER* */README* */_vti*\r\nDirectoryIndex home.gc index.gc index.php\r\n\r\n<Limit GET POST>\r\n#The next line modified b"..., len=0xbfe553e8) at sendrecv.c:87 #5 0x00fcc0dc in socket_bucket_read (a=0x95c0468, str=0xbfe553e4, len=0xbfe553e8, block=APR_BLOCK_READ) at apr_buckets_socket.c:36 #6 0x00fcd06a in apr_brigade_split_line (bbOut=0x95d0f50, bbIn=0x959b9a0, block=APR_BLOCK_READ, maxbytes=8192) at apr_brigade.c:289 #7 0x080b9a9b in core_input_filter (f=0x959b968, b=0x95d0f50, mode=AP_MODE_GETLINE, block=APR_BLOCK_READ, readbytes=0) at core.c:3802 #8 0x0806e8db in logio_in_filter (f=0x959b928, bb=0x95d0f50, mode=AP_MODE_GETLINE, block=APR_BLOCK_READ, readbytes=0) at mod_logio.c:115 #9 0x080b3ae3 in ap_rgetline_core (s=0x95d02a0, n=8192, read=0xbfe55528, r=0x95d0288, fold=0, bb=0x95d0f50) at protocol.c:230 #10 0x080b4577 in ap_read_request (conn=0x959b580) at protocol.c:586 #11 0x0808bc6e in ap_process_http_connection (c=0x959b580) at http_core.c:271 ---Type <return> to continue, or q <return> to quit--- #12 0x080b0a62 in ap_run_process_connection (c=0x959b580) at connection.c:43 #13 0x080a5ad1 in child_main (child_num_arg=Variable "child_num_arg" is not available. ) at prefork.c:610 #14 0x080a5cfb in make_child (s=Variable "s" is not available. ) at prefork.c:704 #15 0x080a5d8c in startup_children (number_to_start=5) at prefork.c:722 #16 0x080a645f in ap_mpm_run (_pconf=0x8c2c0a8, plog=0x8c6c1a8, s=0x8c32ed0) at prefork.c:941 #17 0x080ab803 in main (argc=4, argv=0xbfe558c4) at main.c:638 havent tried netstat yet because the problem isnt occuring right now.. Here is some info on the Apache we are using: Server Version: Apache/2.0.61 (Unix) mod_ssl/2.0.61 OpenSSL/0.9.7a mod_auth_passthrough/2.1 FrontPage/5.0.2.2635 mod_bwlimited/1.4 We are running REDHAT Enterprise 4 i686 almost all our pages are dynamic php.. and its running about 200 websites.. we dont have a load balancer.. All the requests are not from the same ip address very random. Alf Høgemark wrote: > > Hi > > This seems to be quite similar to what I have seen, and others have also > posted about the last couple of years. > I've done a lot of investigation, but have not found a real solution. > My problem is that the threads gets stuck in "W" / "Sending reply" state. > > Are you using mod_php ? If so, it might be that one thread is doing > work, while the other threads are waiting to acquire a lock on the php > session file. > When PHP session files are used, the request are processed sequentially, > and not in parallel for a user. > > I suggest you also use "strace" unix command to see what the different > threads are doing, that might be easier than using gdb. > When I use strace, I see that one thread is hanging on "poll" system > call, until the timeout (Timeout Apache directive - default 300 seconds) > occur. Then I see that the next thread hangs in "poll" and so on. > So if you set the "Timeout" lower, it might improve your situation. > > You should also run "netstat", and see what the status of the sockets > are. If they are almost all in CLOSE_WAIT, I think you are seeing > something similar to me. > > Here are some links to similar issues, I'm not sure if it will help you : > http://www.nabble.com/RE:-requests-time-out-under-load,-no-warnings-in-logs-p13065495.html > http://mail-archives.apache.org/mod_mbox/httpd-users/200611.mbox/[EMAIL > PROTECTED] > ( and the other posts to that thread) > http://www.linuxforums.org/forum/servers/27519-alright-im-dying-here-apache-help-mysql-php.html > http://osdir.com/ml/apache.mod-ssl.user/2004-10/msg00009.html > > I have also seen other posts from people with very similar problems, > lots of thread stuck in a state. > > What is your environment ? I.e. what version of Apache, what operating > system and version, are you generating dynamic pages, and if so, what > tools (for example php) are you using ? > Do you have a firewall or a load balancer in front of your web server ? > > Are almost all the requests from the same IP adresse ? Are almost all > the request for the same URL ? > > What my theory is at the moment, after throwing away some other > theories, are that somehow a client creates several hundred requests for > the same URL. > Since in my case this happens fairly often, several times a day on a > uncontroversial high traffic site, from different users, I do not think > it is someone doing a DoS attack. > > I think it might be a problem with a firewall or a proxy or maybe the > browser (I have seen it happen for people using both Windows and Mac, > both Firefox and IE), that sits between the web server and the end user. > Somehow the closing of the socket/connection by the browser is not > picked up by the web server. And somehow the browser issues lots of > requests. > I have not completely ruled out that it might be a Apache web server bug > as well. > But since I have no way of reproducing this, apart from observing it > happening quite often, it is very hard to get any further. > So any help would be greatly appreciated. > > Regards > Alf Hogemark > > > > Sander Temme wrote: >> >> On Nov 7, 2007, at 9:31 AM, Andrew Rosolino wrote: >> >>> I restarted apache and all was fine.. but then 20 minutes later they >>> went >>> back all into a reading state.. it appears as if slowly each >>> processes goes >>> into the reading state?? I dont understand what the problem is. >> >> If you have gdb on the box (and have some acumen using it), you can >> attach to one of the processes and see if it is hanging in something >> obvious. >> >> If not, and your traffic is plaintext, I recommend the tcpdump >> approach to see what is going on traffic-wise, and what triggers the >> issue. I'd dump the traffic to disk (tcpdump -i ethX -s 0 -w >> /wherever/traffic.dump port 80) and take it over to a box with >> Ethereal/Wireshark for some cozy analysis. >> >> If you're being DOS attacked by trickle requests, you could try >> setting a very low timeout (default is 5 minutes which doesn't seem to >> be working for you) and perhaps use mod_evasive or somesuch to flag >> and firewall the bad clients. >> >> S. >> > > --------------------------------------------------------------------- > The official User-To-User support forum of the Apache HTTP Server Project. > See <URL:http://httpd.apache.org/userslist.html> for more info. > To unsubscribe, e-mail: [EMAIL PROTECTED] > " from the digest: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > -- View this message in context: http://www.nabble.com/Apache-Hangs..-Server-Status-shows-all-Reading-tf4766110.html#a13693182 Sent from the Apache HTTP Server - Users mailing list archive at Nabble.com. --------------------------------------------------------------------- The official User-To-User support forum of the Apache HTTP Server Project. See <URL:http://httpd.apache.org/userslist.html> for more info. To unsubscribe, e-mail: [EMAIL PROTECTED] " from the digest: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]