On 06/03/2011 10:12 PM, Zaccone, Warren wrote:
Have a problem where httpd server 2.2.15 stops responding to requests
requiring server to be frequently restarted that has me going in
circles. I was looking for some direction as to how to pursue.
there are 8 workers running each consuming very little cpu.
netstat shows process listening on port 80 and 443.
requests on 443 are served fine, but requests on 80 hang, Backed out
2.2.15 and went to previous release I had built (httpd 2.2.11) and
problem has gone away. No other variables changed, and they were
built same way, so I am wondering if there was a change in behavior
between the releases that I have not anticipated or if there is a bug
that may have been fixed subsequently. I am testing 2.2.19 in my lab
without issues, but 2.2.15 is in production so I need to determine the
cause.
the requests are 99% php scripts with a fair number using web services
with nusoap. However I think the issue may be httpd itself because
port 443 works fine, but port 80 does not respond. Initially both
ports are functioning and over time, (a few hours), requests on port
80 (http) stop responding but 443 (https) remains fine. restarting
httpd fixes it for a few hours.
I appreciate any thoughts or direction.
thank you.
Warren
It can depend on many things.
Are you running PHP scripts on 443 as well ? The same scripts ?
Or are you running way more on port 80, how much traffic is each port
serving ?
Examine server-status output thoroughly when this start to happen.
I compiled it as
Apache/2.2.15 (Unix) PHP/5.2.14 mod_ssl/2.2.15 OpenSSL/0.9.8o
apachectl -V
apache bin directory is /usr/local/apache/bin
httpd is /usr/local/apache/bin/httpd
Server version: Apache/2.2.15 (Unix)
Server built: Jul 22 2010 16:52:18
Server loaded: APR 1.3.3, APR-Util 1.3.4
Compiled using: APR 1.3.3, APR-Util 1.3.4
Architecture: 32-bit
Server MPM: Prefork
threaded: no
forked: yes (variable process count)
Server compiled with....
-D APACHE_MPM_DIR="server/mpm/prefork"
-D APR_HAS_SENDFILE
-D APR_HAS_MMAP
-D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
-D APR_USE_FCNTL_SERIALIZE
-D APR_USE_PTHREAD_SERIALIZE
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
-D APR_HAS_OTHER_CHILD
-D AP_HAVE_RELIABLE_PIPED_LOGS
-D DYNAMIC_MODULE_LIMIT=128
-D HTTPD_ROOT="/usr/local/apache"
-D SUEXEC_BIN="/usr/local/apache/bin/suexec"
-D DEFAULT_PIDLOG="logs/httpd.pid"
-D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
-D DEFAULT_LOCKFILE="logs/accept.lock"
-D DEFAULT_ERRORLOG="logs/error_log"
-D AP_TYPES_CONFIG_FILE="conf/mime.types"
-D SERVER_CONFIG_FILE="conf/httpd.conf"
$
A lot more helpful would be the output from httpd -S, and an indication
of the types of content on each port.
Also , try to reproduce it by running ab or something like it, keeping
an eye on extendedstatus.
--
J.