21 messages in org.apache.httpd.devRe: Is async the answer
FromSent OnAttachments
Akins, BrianJan 18, 2008 10:51 am 
Justin ErenkrantzJan 18, 2008 11:16 am 
Colm MacCarthaighJan 18, 2008 11:20 am 
Akins, BrianJan 18, 2008 11:26 am 
Akins, BrianJan 18, 2008 11:30 am 
Colm MacCarthaighJan 18, 2008 12:07 pm 
Akins, BrianJan 18, 2008 1:16 pm 
Colm MacCarthaighJan 18, 2008 1:28 pm 
Ruediger PluemJan 18, 2008 2:30 pm 
Justin ErenkrantzJan 18, 2008 4:33 pm 
Niklas EdmundssonJan 19, 2008 3:53 am 
Graham LeggettJan 19, 2008 4:45 am 
Davi ArnautJan 19, 2008 6:57 am 
Jim JagielskiJan 19, 2008 7:04 am 
Graham LeggettJan 19, 2008 8:01 am 
Henrik NordströmJan 19, 2008 1:14 pm 
Henrik NordströmJan 19, 2008 1:19 pm 
Davi ArnautJan 19, 2008 3:29 pm 
Graham LeggettJan 20, 2008 7:44 am 
Akins, BrianJan 22, 2008 10:03 am 
Akins, BrianJan 22, 2008 10:07 am 
Actions with this message:
Paste this link in email or IM:
Paste this link in email or IM:
Atom feed for this thread
Paste this URL into your reader:
Subject:Re: Is async the answerActions...
From:Akins, Brian (Bria@turner.com)
Date:Jan 18, 2008 10:51:39 am
List:org.apache.httpd.dev

On 1/18/08 12:18 PM, "Colm MacCarthaigh" <co@allcosts.net> wrote:

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.

I also wonder is that has actually been tested or if it's just a "factoid"?

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.

But, I wonder if the scheduler would become bound in a "reasonable" amount of traffic.

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.

Bandwidth generally isn't an issue for us anymore (thanks to gzip). We can still overrun the CPU with small objects requests/responses. On "large" objects (ie, over 16k or so), the CPU is bored when multiple gig interfaces are full.

The scalability wars should really be over, everyone won - kernel's rule :-)

Which is why I hate to see a ton of work go into async core if it actually does very little to help performance (or if it hurts it) and makes writing modules harder. It braindead simple nowadays to write well behaved high performance modules (well, mostly) bcs you rarely worry about threads, reads/writes, etc. Full async programming is just as challenging as handling a ton of threads yourself.

My $.02 US worth (which ain't much).