Chapter 13. Timing the Web
Analyzing the loading behavior of web pages by using browser plug-ins like YSlow, SpeedTracer or dynaTrace Ajax Edition has become really easy. As soon as we leave the browser, the story however is a different one. Getting detailed data from real users is much harder and only possible to a certain level of granularity. The usual approach is to use synthetic monitoring and execute tests from a variety of points of presence as close to end users as possible. If you measure from many locations and cover most of your transactions, this comes pretty close to the users’ perceived performance. In case you are interested in more details on the pros and cons of using synthetic monitoring, recommend this blog post (http://blog.dynatrace.com/2011/10/06/is-synthetic-monitoring-really-going-to-die/).
The best way however to understand the performance from a user’s perspective is to measure in the actual browser. While this sounds very simple, it turns out to rather be a challenge. Creating a waterfall chart like the one on Figure 13-1 by just using information available in the browser simply is impossible.
Although there are free libraries like Boomerang (https://github.com/yahoo/boomerang) and commercial products that can provide some of this information, it tends to be pretty tough. Actually of the first question that comes up is one of the hardest to answer: How long does it take to load a page. Let’s be more precise here. How long does it take from ...