httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Graham Leggett <>
Subject Re: Httpd 3.0 or something else
Date Mon, 09 Nov 2009 21:19:26 GMT
Greg Stein wrote:

> These issues are already solved by moving to a Serf core. It is fully
> asynchronous.
> Backend handlers will no longer "push" bits towards the network. The
> core will "pull" them from a bucket. *Which* bucket is defined by a
> {URL,Headers}->Bucket mapping system.

How is "pull" different from "push"[1]?

Pull, by definition, is blocking behaviour.

You will only run as often as you are pulled, and never more often. And
if the pull is controlled by how quickly the client is accepting the
data, which is typically orders of magnitude slower than the backend can
push, you have no opportunity to try speed up the server in any way.

Push however, gives you a choice: the push either worked (yay! go
browser!), or it didn't (sensible alternative behaviour, like cache it
for later in a connection filter). Push happens as fast the backend, not
as slow as the frontend.

So far I'm not convinced it is a step forward, will have to think about
it more.

[1] Apart from the obvious.


View raw message