Chapter 3. Cache Optimization

There’s no question that the longer a web page takes to load, the less attention a user will give it. Curious minds might wonder what happens to users’ attention as a web page becomes faster. How fast can something get without users noticing that they had to wait for it? Research shows that, in general, people perceive load times of 100 milliseconds or less as seemingly instantaneous. This is the Holy Grail of web performance; if we could make a web page load faster than a user can notice, our work here would be done. Easy, right? Not quite.

Think about everything that could go wrong while a page loads. Before the server can even send the first bit of data, a few round-trips’ worth of negotiation take place just to open the lines for communication. Each phase in the connection chips away at the 100-millisecond budget for which we’ve aimed. It’s not long before the users notice that they’re waiting on us to load the page. Caching to the rescue.

What is a cache? A textbook definition might be that a cache is just a portion of computer memory temporarily set aside for data needed in the near future. Conceptually, caching allows an application to quickly access data. The canonical example of caching is saving the results of CPU computations in random-access memory (RAM) as opposed to disk space. The time required to read from and write to disk is much greater than it is with memory, so effective caching can have profound impacts on computation time. Even ...

Get Using WebPageTest 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.