Varnish use for purely binary files
kb+varnish at slide.com
Tue Jan 19 01:15:14 CET 2010
On Jan 18, 2010, at 4:03 PM, Michael S. Fischer wrote:
>> Does [Apache] perform "well" for static files in the absence of any other function? Yes. Would I choose it for anything other than an application server? No. There are much better solutions out there, and the proof is in the numbers.
> Not sure what you mean here... at my company it's used for everything but proxying (because Apache's process model is contraindicated at high concurrencies if you want to support Keep-Alive connections). And we serve a lot of traffic at very low latencies.
The concurrency issue is really Apache's achilles tendon. Real world example: being limited to 70 concurrent application workers on a 16GB machine is a bad joke. Like you said, simultaneous (especially slow) connections will kill Apache dead very quickly. mpm_event could be a huge boon (if Apache insists on continuing with a pure process/thread model) but I'm not sure it's every going to "arrive".
Ironically and IMHO, one of the barriers to Varnish scalability is its thread model, though this problem strikes in the thousands of connections.
Apache is fast at pure static, but it isn't the fastest. nginx/lighttpd/thttpd can be simpler and faster, and they don't rely on the process/thread model.
But whether or not you need that 100th percentile of speed depends on a huge number of variables. Apache's ubiquity is a strong argument, and it would take heavy loads to differentiate Apache from the others above.
More information about the varnish-misc