On Wed, Jan 23, 2013 at 11:46 PM, Benjamin Carlyle <
benjamincarlyle@soundadvice.id.au> wrote:
> as bandwidth increases[..] the problem stateful compression is designed
> to solve goes away
>
I disagree.
compression in http/2 (stateful or otherwise) is not meant to solve a
problem with insufficient bandwidth. It is meant to address the problems
created by poor rtt:bw ratios. Those ratios only get *worse* as bandwidth
improves, because latency does not improve as quickly.
Specifically, the major problem is that the TCP congestion window is driven
by RTT. This is a particular problem on the request side of things and
compression allows you to send more requests without absorbing a RTT delay
as the congestion window grows. That RTT is the bottleneck that needs to be
solved - not the bandwidth of the pipe - and that's too bad because
bandwidth is a much easier thing to improve.
I know this has been said before - but as long as people are still talking
about bandwidth we really aren't talking about the problem that's killing
HTTP performance right now.
Stateful (I presume we are defining that as meaning state between requests)
has a good record of addressing this by effectively removing redundant
headers (i.e. cookies which may spill the CWND all by themeslves so are an
issue with even 1 request needing to be sent) from the byte stream. I
believe this justifies its inclusion as long as it is done in a thoughtful
and reasonable way.
This is not a direct criticism of the bulk-request (BR) proposal. BR is
effectively compression as well just over a limited scope.. I'm skeptical,
but if it can show the kinds of improvements spdy did without adding
artificial waits then it should be considered.
-P