tags:

views:

769

answers:

2

How is Apache in respect to handling the c10k problem under normal conditions ? Say while running very small scripts with little data, or do I need to scale out if I use Apache?

In the background heavy lifting is done by a few servers running specialized software that processes the requests but I'd like to use Apache as a front. Is this a viable plan?

+2  A: 

I'm assuming you've probably seen this data, but if not, it might give you some idea.

MarkusQ
Good information, and I like thttpd a lot (I've used it a couple of times in the last 8 years). Important to note though, that the table of info you list is more than ten years old.
Alister Bulman
+3  A: 

I consider Apache to be more of an origin server - running something like mod_php or mod_perl to generate the content and being smart about routing to the appropriate system.

If you are getting thousands of concurrent hits to the front of your site, with a mix of types of data (static and dynamic) being returned, you may find it useful to put a more optimised system in front of it though.

The classic post-optimisation problem with Apache isn't generating the dynamic content (or at least, that can be optimised for early in the process), but simply waiting for a slow client to be able to receive the bytes that are being sent. It can therefore be a significant advantage to put a reverse proxy, in the form of Squid or Nginx, in front of the servers to take over the 'spoon-feeding' of the slow network clients, while allowing the content production to happen at full speed, and at local network speeds - 100Mb/sec or even gigabit speeds - if it even has to traverse a network at all.

Alister Bulman
very interesting approach! Do you know where I could go to find more practical tips like this?
Robert Gould