Chapter 11. Sharding Dominant Domains

Some web pages have all their HTTP requests served from one domain. Other sites spread their resources across multiple domains. Rule 9 from High Performance Web Sites says to reduce DNS lookups, but sometimes increasing the number of domains is better for performance, even at the cost of adding more DNS lookups. The key is to find the web page’s critical path. If the critical path results from too many resources being served from one domain, splitting them across multiple domains—what I call domain sharding—may make the page load more quickly.

Critical Path

Figure 11-1 shows the HTTP profile for eBay. The horizontal axis represents response time. A steep slope, as shown on the righthand side of the chart, reflects a lot of downloads in a short period of time. This is a sign of a fast page. In contrast, a flat slope such as the one shown in the first five HTTP requests means the browser is bogged down with a slow response or long-executing JavaScript. In this case, eBay’s critical path is blocked by the HTML document in the first request, by JavaScript downloads in the fourth and fifth requests, and by JavaScript execution as indicated by the whitespace following the fourth and fifth requests.

Yahoo!’s HTTP profile, shown in Figure 11-2, has a different critical path. The majority of the time loading this page is spent downloading images two at a time.[51] All of the resources in the page are downloaded from a single domain: l.yimg.com ...

Get Even Faster Web Sites now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.