[e2e] Pipelining in HTTP connections

George Michaelson ggm at apnic.net
Thu Jan 2 17:43:26 PST 2003


We turned off pipelining. A side effect of keep-alive and related methods for
webservers doing micro-apps is that the overall 'dead child' collection you
have to hold in your webserver rises dramatically, for all the people who come
once, never again, but leave a browser connection live beyond the life of
their micro-service (we do whois on web, which is basically
request-> response-> DIE)

If we could run a non-forked threaded server, it would probably make sense to
turn it back on. Alas, we now also depend on mod_perl, which mitigates against
that (too much saved state in the perl, memory consumption issues, lack of
clue).

it may actually be an overall lack of clue on my part, but turning it off made
the difference between life and death on the webserver. It made a huge and
immediate difference to the number of backlogged child processes waiting to
die off.

So while its maybe nicer end-to-end for long-lived bindings at 'session' level
to the web client/server, its not always a good fit for the server side, if
your jobmix differs.

cheers

-George




More information about the end2end-interest mailing list