O'Reilly logo

Web Performance Daybook Volume 2 by Stoyan Stefanov

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 6. The Need for Parallelism in HTTP

Brian Pane

Introduction: Falling Down the Stairs

The image on Figure 6-1 is part of a waterfall diagram showing the HTTP requests that an IE8 browser performed to download the graphics on the home page of an e-commerce website.

Note

The site name and URLs are blurred to conceal the site’s identity. It would be unfair to single out one site by name as an example of poor performance when, as we’ll see later, so many others suffer the same problem.

Stair-step waterfall pattern

Figure 6-1. Stair-step waterfall pattern

The stair-step pattern seen in this waterfall sample shows several noteworthy things:

  • The client used six concurrent, persistent connections per server hostname, a typical (http://www.browserscope.org/?category=network) configuration among modern desktop browsers.

  • On each of these connections, the browser issued HTTP requests serially: it waited for a response to each request before sending the next request.

  • All the requests in this sequence were independent of each other; the image URLs were specified in a CSS file loaded earlier in the waterfall. Thus, significantly, it would be valid for a client to download all these images in parallel.

  • The round-trip time (RTT) between the client and server was approximately 125ms. Thus many of these requests for small objects took just over 1 RTT. The elapsed time the browser spent downloading all N of the small images on the ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required