Measuring Load Time: Today’s Web Demands a New Standard
11.02.2011 - Krux Engineering
Today's guest blog is from Krux engineering. Read on...
Everyone agrees – consumers and website operators alike – that page load time is a primary driver of user satisfaction when visiting a website. It’s been widely shown that consumers are more likely to leave a site based on slower load times, and that of course translates into lost revenue for the site’s operator. Based on a study of latency in web applications by the Aberdeen Group, a one second delay can:
- reduce customer conversions by 7%,
- decrease customer satisfaction by 16%, and
- decrease page views by 11%.
What this means for a typical online service provider, based on an upcoming performance benchmarking report by Krux: a 40% improvement in page load time could drive at least 10% more transactions and 20% more traffic.
So, here’s something that’s been on my mind lately: Why is there still no universally accepted metric for measuring latency on websites? While in many ways the ‘business’ of measurement is in a state of evolutionary flux, I believe that right now is the right time for the leaders in the online world to reach consensus on a sensible standard to which we can all hold ourselves accountable.
Standards Are Lacking
Historically, the closest thing to an industry standard for page load measurement is Total Network Time. This is mostly due to ease of measurement: it can be done at the http socket level and isn’t dependent upon a browser event. While some have moved on from this increasingly archaic measure, others have not.
However, there are several drawbacks to relying on Total Network Time to gauge site performance.
- It doesn’t account for CPU time impacting load performance.
- It doesn’t accurately reflect the user experience, being somewhat divorced from content load events on the page.
- It unfairly penalizes pages that intelligently delay certain types of content until after page load in the interest of user experience (e.g., Krux SuperTag or Lazy Loading image libraries).
The Current State of the Art is a Good Start
- There is almost always Inconsistency across browser types.
- One cannot measure anything that happens before the start timer is executed in the top of the HTML (e.g. dns time, server response time, redirect time, etc.).
Now, Enter HTML 5
This proposed timing spec has many advantages, most importantly, it:
- provides standard and consistent measurement across different browsers types (including Internet Explorer 9+, Firefox 7+, and Chrome 6+),
- allows several event timings to be measured and captured without any incremental instrumentation overhead, and
- delivers a timestamp when a particular event is fired at the millisecond level.
<script> var elapsedTime = performance.timing.loadEventStart - performance.timing.fetchStart; </script>
This HTML 5 approach allows many different timing markers to be measured, beyond just window.onload. The following diagram illustrates the various event timings that are supported and their relative firing order (source: W3C). A complete list of events and their descriptions can be viewed at the W3C's timing spec.
Among all of these events, the window.onload marker is Krux’s preferred standard measure. It is calculated by comparing the difference between the loadEventStart event and the domLoading event, which ensures that the measurement focuses on front-end page load times. Thus, it is well correlated to actual end-user experience.
Further, given the broad-based browser support for the W3C/HTML 5 measurement approach, the window.onload statistic will both be stable across browsers and prove super-compatible with market-standard measurement tools like Google Analytics. And it's worth noting, it is becoming an increasingly important statistic for the search rankings of Bing and Google.
Our Challenge to the Industry
Simply put: Why isn’t the entire industry embracing the more reliable metrics and measures that are available right now?
The measurement challenges of the past have been solved – and not just in the lab. These new approaches have been tested out in the wild, against real-word scenarios, and have emerged as the logical choice.
The time is now for the industry to move – and move fast. Krux is embracing this change. Will you join us?