On 06/03/2013 23:22, Michael Mol wrote:
> On 03/06/2013 04:07 PM, Alan McKinnon wrote:
>> On 06/03/2013 22:59, Michael Mol wrote:
>>> On 03/06/2013 03:54 PM, Grant wrote:
>>>> I lowered my MaxClients setting in apache a long time ago after
>>>> running out of memory a couple times.  I recently optimized my
>>>> website's code and sped the site way up, and now I find myself
>>>> periodically up against MaxClients.  Is a RAM upgrade the only
>>>> practical way to solve this sort of problem?
>>>
>>> Use a reverse proxy in caching mode.
>>>
>>> A request served up by the proxy server is a request not served up by
>>> Apache.
>>>
>>> Squid, nginx and varnish are all decent for the purpose, though squid
>>> and nginx are probably the more polished than varnish.
>>>
>>
>> Grant,
>>
>> If you optimized the site well, I would imagine your RAM needs per page
>> request would go down and you could possibly increase MaxClients again.
>> Have you given it a try since the optimization? Increase it slowly bit
>> by bit comparing the current performance with what it used to be, and
>> make your judgement call.
>>
>> Is there some reason why you can't just add more memory to the server?
>> It's a fast and very cheap and very effective performance booster with
>> very little downtime. But if your slots are full and you need new
>> hardware, that's a different story.
>>
>> Michael's proxy suggestion is excellent too - I use nginx for this a
>> lot. It's amazingly easy to set up, a complete breath of fresh air after
>> the gigantic do-all beast that is apache. Performance depends a lot on
>> what your sites actually do, if every page is dynamic with changing
>> content then a reverse proxy doesn't help much. Only you know what your
>> page content is like.
> 
> The thing to remember is that clients request a *lot* of static content,
> too. CSS styles, small images, large images...these cache very well, and
> (IME) represent the bulk of the request numbers.

<bang head>
Yes, of course. You are perfectly correct, I forget all about that
"invisible" stuff in the background
</bang head>



> 
> Unfortunately, with the way mod_php and friends work with Apache,
> resources consumed by static file requests aren't trivial once you
> realize that the big problem is with the number of concurrent
> requests...so it's best if those can be snapped up by something else, first.
> 
> I've been running squid in front of my server for a few years. I've been
> eyeing CloudFlare, though; they're a CDN that behaves like a reverse
> proxy. You point their system at your server, your DNS at their system,
> and they'll do the heavy lifting for you. (And far better than having
> your own singular caching server would. I've worked at a CDN, and what
> they accomplish is pretty slick.)
> 
> 
> 


-- 
Alan McKinnon
alan.mckin...@gmail.com


Reply via email to