On Jan 24, 2014, at 9:35 AM, Yaron Goland <[email protected]> wrote:
> In the HTTP WG more than a decade ago issues like this came up under the name > 'boxcar'ing'. But with the introduction of pipelining the performance > benefits of boxcar'ing for idempotent requests went away. It's not that simple. Pipelining has problems, as described by Ilya Grigorik in his excellent new book "High Performance Browser Networking": >> In practice, due to lack of multiplexing, HTTP pipelining creates many >> subtle and undocumented implications for HTTP servers, intermediaries, and >> clients: […] >> Due to these and similar complications, and lack of guidance in the HTTP 1.1 >> standard for these cases, HTTP pipelining adoption has remained very limited >> despite its many benefits. Today, some browsers support pipelining, usually >> as an advanced configuration option, but most have it disabled. — http://chimera.labs.oreilly.com/books/1230000000545/ch11.html#HTTP_PIPELINING In my case, pipelining is off by default in Apple's HTTP client framework, and I've been loath to turn it on for reasons like those Grigorik describes. (Also, IIRC I tried turning it on a year or so ago and ran some replication performance tests, and didn't see noticeable improvements.) Coalescing everything into one request also removes the overhead of generating and parsing each HTTP request/response, on both client and server sides. —Jens
