On Fri, Jan 18, 2008 at 12:03:02PM -0500, Akins, Brian wrote:
> Most of us seem to have convinced our self that high performance network
> applications (including web servers) must be asynchronous in order to scale.
> Is this still valid? For that matter, was it ever?

Hmmm, it depends what you mean by scale really. Async doesn't help a
daemon scale in terms of concurrency or throughput, if anything it might
even impede it, but it certainly can help improve latency and
responsivity greatly. On the whole, it's easy to see how it might make
the end user experience of a very busy server much more pleasant.

> It seems that modern OS's (this was Linux 2.6.something) deal with the
> "thread overhead" and all the context switches very well. All the stuff
> mentioned in the "the c10k problem" ( http://www.kegel.com/c10k.html) didn't
> seem to apply.  We could have easily doubled the amount of connections to
> the server, I think.

The c10k page has been hopelessly out of date for a long long time, I
wrote to Dan Kegel some time about (maybe 3 or 4 years) pointing this
out, but there's been no update :/

> Response time never increased in any measurable amount.

I suspect it might though if the scheduler became bound, async would
route the interupts more efficiently. 

> Yes, we are using sendfile, mmap, etc., so zero-copy helps us a lot.
> 
> So, do we need apache 3 (or whatever it's called) to be fully asynchronous?
> Is that just us reacting to "the market" trends, ie, lighttpd?

Who knows, no harm in doing it anyway, if it's what interests people,
cool. Personally I find comparisons between webservers and most
discussions on scalability baffling, the reality is that modern hardware
can outscale pretty much any amount of bandwidth you can buy regardless
of the software. And to that end, the software is all near identical in
the pipelines of syscall's used (hell even IIS) - which is what really
matters. 

Most discussions seem to centre on some mindlessly ignorant comparison
based on the suitable of defaults to a particular set of circumstances
coupled with religion. The scalability wars should really be over,
everyone won - kernel's rule :-)

> All the apache httpd "is bloated and slow" is just plain horse crap.  It's
> not that hard to configure apache to be "fast."  C programming is my
> "hobby," and it's not that hard to write modules that don't do stupid things
> and kill the performance.

Yep!

-- 
Colm MacCárthaigh                        Public Key: [EMAIL PROTECTED]

Reply via email to