Date: Mon, 27 Oct 2008 15:38:00 -0400 From: FreeBSD <freebsd@optiksecurite.com> To: Chuck Swiger <cswiger@mac.com> Cc: freebsd-questions@freebsd.org Subject: Re: collecting pv entries -- suggest increasing PMAP_SHPGPERPROC Message-ID: <49061898.60903@optiksecurite.com> In-Reply-To: <E0956D53-6EA3-4E70-91B2-6606EA48869A@mac.com> References: <49060AE0.3000301@optiksecurite.com> <E0956D53-6EA3-4E70-91B2-6606EA48869A@mac.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Chuck Swiger a écrit : > On Oct 27, 2008, at 11:39 AM, Francis Dubé wrote: >> I've read that this is mainly caused by Apache spawning too many >> processes. Everyone seems to suggest to decrease the MaxClients >> directive in Apache(set to 450 at the moment), but here's the >> problem...i need to increase it ! During peaks all the processes are >> in use, we even have little drops sometime because there isn't enough >> processes to serve the requests. Our traffic is increasing slowly over >> time so i'm affraid that it'll become a real problem soon. Any tips on >> how I could deal with this situation, Apache's or FreBSD's side ? > > You need to keep your MaxClients setting limited to what your system can > run under high load; generally the amount of system memory is the > governing factor. [1] If you set your MaxClients higher than that, your > system will start swapping under the load and once you start hitting VM, > it's game over: your throughput will plummet and clients will start > getting lots of broken connections, just as you describe. > According to top, we have about 2G of Inactive RAM with 1,5G Active (4G total RAM with amd64). Swapping is not a problem in this case. After checking multiple things (MySQL, networks, CPU, RAM) when a drop occurs, we determined that everytimes there is drop, the number is Apache's process is MaxClients (ps aux | grep httpd | wc -l) and the new http request doesn't get answer from Apache (the TCP hanshakes completes but Apache never push the data). Thanks for your reply! > For a rough starting point, divide system RAM by httpd's typical > resident memory size. If your load legitimately exceeds this, you'll > need to beef up the machine or run multiple webserver boxes behind a > load-balancer (IPFW round-robin or similar with PF is a starting point, > but something like a Netscaler or Foundry ServerIron are what the big > websites generally use). >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?49061898.60903>