TCP and the Lower Bound of Web Performance
John Rauser (Amazon)
5:20pm Wednesday, 06/23/2010
Web Performance 209/210
This talk begins with the physics of network latency as explained in Cheshire’s famous paper “Its the Latency, Stupid.” Then I review the basic TCP algorithm and its history up to 1986, when the nascent internet experienced a series of congestion collapse events. I explain the nature of congestion collapse, and Jacobsen’s research which led to the creation of TCP slow start and congestion control in general. Finally I explain how TCP’s congenstion control algorithms impact web application latency, and give some general guidelines for application design that result from these observations.
John has been extracting value from large datasets for 15 years at companies ranging from hedge funds and small data-driven startups to retailing giant amazon.com. He has deep experience in the areas of personalization, business intelligence, website performance and real-time fault analysis. An empiricist at heart, John’s optimism and can-do attitude make “Just do the experiment!” his favorite call to arms.
- It’s the Latency Stupid (Paper by Stuart Cheshire)
- Making more bandwidth is easy
- Once you have bad latency, you are stuck with it
- What is the round-trip latency from coast to coast
- Takes about 37ms for theoretical fiber
- What it really takes is close to 90ms
- Problem is that this has been the case for over 10 years
Great session on TCP history. Slow Start hasn’t changed since the 1980’s…Grows the number of requests/acks exponentially. Codified in RFC 1122 in 1989.
- Carefully consider every byte of content (Good point)
- Gzip as much as possible
- Think about what goes into those first few packets
- Keep your cookies small
- Open connections for assets in the first three packets (Get browser cooking to those domains)
- Download small assets first
- Accept speed of light