I just got a new server but for some reason I'm not able to make it accept more than 128 connections, requests, whatever they're called. I've tried EVERYTHING google tells me but it'll apache(2) simply ignores my MaxClients setting... well, it's not actually ignoring it but leaving lots of open slots and only handling 128 connections all the time. This is how my status looks like all the time :ugh: WWWCCKKCKKKCKKCKKCCCWCCCKKCWKKKCWKCWCKWWWWCCCKWCKKCKWKKCKCKKKCKK CCWWWKCKCWCCWWWKKCCKKCWKWKWKKKWWWWKWWCKWKCWWKKWWKKWKWCCCKWWKCWCK ................................................................ ........ Code (markup): I have thousands of requests being put on hold although apache still has more than 100 open slots?! Why would this happen? I have over 2GB of free ram and the cpu is almost idling (load 0.20) with just 128 connections
See http://httpd.apache.org/docs/2.0/mod/mpm_common.html#maxclients Depending on the OS you may have to raise the ServerLimit or ThreadLimit directives as well.
Like I said on my first post, the 250 slots are open but Apache is not using all of them, so maxclients and serverlimite are set but apache for some reason only uses 128 of the 250 it has available. Apache keeps the rest of the connections waiting instead of using one of the open slots.
Centos 5, Apache 2.2.11 and yes, something like that is what I think is going on but can't figure it out...
Still need more information. If you have a firewall, are you proxying the httpd connections? You may want to check the httpd proxy and see if that limits your connections. I never heard of a router doing that, but I could be mistaken, so you may want to check that as well. Do a /usr/sbin/httpd -V and post the results as well.
Thanks for any tips or ideas, I'm really desperate Server version: Apache/2.2.11 (Unix) Server built: Jan 9 2009 08:59:50 Cpanel::Easy::Apache v3.2.0 rev4566 Server's Module Magic Number: 20051115:21 Server loaded: APR 1.3.3, APR-Util 1.3.4 Compiled using: APR 1.3.3, APR-Util 1.3.4 Architecture: 64-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_SYSVSEM_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" Code (markup):
I have no idea if httpd connections are being proxied. The server was just installed with cpanel, so if cpanel doesn't activate that, I doubt it... how can I check that?
In case this happens to you, mod_proxy was the one at fault. It was giving me segmentation fault errors and killing the extra connections. I simply compiled apache without it and everything went back to normal
Hmm I might be having the same issue you had...the status you posted in the original post looks very similar to mine... Will try using EasyApache and compile this time around without mod_proxy...