Recently i have lowered my apache maxclient settings to free up some RAM but i am trying to understand whether if my maxclient setting will prevent part of users from accessing my website.
I have catched some lockf status processes while runing TOP but i am not sure whether if it has anything to do with maxclient exceed.
Can anyone please tell me how can i understand whether if current maxclient setting is enough to server my visitors,probably search the logs for maxclient error ?
The logs would tell you but in all honesty it's actually loading the page yourself and getting it right. The logs dont *know* how your site performs best, only you do.
Too high and your servers load will just climb and climb as more and more requests which don't have the resources to be served handle come in. Too low and you will have plenty RAM but the site will be down with timeouts, just play with it until you feel it's about right.
While we're on the subject you may find it useful to turn keepalive off, or down to say 2 seconds, this will lower your RAM usage considerably.
Last edited by dkitchen; 01-07-2007 at 09:35 PM.
█ Dan Kitchen | Technical Director | Razorblue
█ ddi: (+44) (0)1748 900 680 | e: [email protected]
█ UK Intensive Managed Hosting, Clusters and Colocation.
█ HP Servers, Cisco/Juniper Powered BGP Network (AS15692).
if its not a good thing to have high keepalive then why apache guys puted it there?
Keep-alive itself is a GOOD THING by design, as it minimise the overhead of establishing TCP connections. Keep-alive + pipelining can actually make web sites load faster as web browsers do not need to wait for the previous requests to return before sending another request.
However with Apache's pre-fork MPM model, keep-alive actually makes Apache less scalable, because it holds up the server process for a specific amount of time idling, where it could have served other requests.
So I guess if your sites have less traffic or serve lots of static files, keep alive is good. Not so good with a busy dynamic site.
It allows lower latency (browser does not need to wait for the next request) thus results faster overall response. Typically HTTP 1.1 without pipelining would be even slower than HTTP 1.0 because of lingered keep-alive connections. However IIRC pipelining is not implemented in Internet Explorer (but is in Firefox and Opera).