The Elusive Goal of the Optimized WebsiteHow Load Testing Helps you Build Faster Websites

Recently Microsoft conducted research [1] [2] indicating that a delay of 1 second in page load time means a loss of revenue of 2.8%. Obviously, faster websites lead to huge revenue benefits for ecommerce companies, hence why speed is the dominant industry trend today. That said, improving quality and velocity must remain feasible. Even machines have limits (as well as humans). A key question that emerges is how fast must a website be to appear noticeably better than it does today? The next question is, can load testing get us there?

Defining what is faster

According to Akamai (research from a sample of 1058 people), 75% of visitors would not return to websites that take longer than 4 seconds to load. That was in 2006. Three years after, in 2009, Akamai conducted again the same research. Apparently we have become more demanding. A website now needs to load up within 2 seconds, half the time needed in 2006. The requirement will surely continue to get faster, but we’ll keep 2 seconds as a reference for now to define a “fast” website.

If 2 seconds is a “fast” website then what is a “faster” website? It is not just a website below our time reference. Humans are said to be able to perceive at least a time difference of 20%. Following this rule, our new reference would be 1.6 seconds. That’s the number we’ll target, and let’s see if we can touch this new Holy Grail.

Can we get there with Load Testing?

Research by Gomez highlights the fact that 1.6 seconds is very difficult to reach. In summary; common network latency is about 0.4 second. Downloading page content is roughly 1 second (standard page of 200Ko, broadband connection). The rendering page is in average 0.5 second for a standard page, even though it is Web browser dependent. Add those figures and you’ll find 1.9 seconds. It is already greater than what we wanted to reach and we did not say a word about server processing time.

As a result, building noticeably faster websites looks really hard. Considering the entire delivery chain, each component needs to be optimized. But what about load testing, can it help?

The short answer is “yes”. But it must be part of the entire optimization process. There are numerous benefits from Load testing which help you build websites with exceptional performance.

Performance testing early in the lifecycle, for instance, ensures a more holistic approach of the application development lifecycle. Load tests performed while the development is being done (as opposed to afterwards) makes finding bugs easier. Each step of the development is proven out so developers can make sure it works before continuing coding. This approach also eliminates late deployments due to performance issues discovered later in the lifecycle.

Once validated in pre-production, it’s also important to validate in the production environment. Indeed the pre-production infrastructure used is rarely ever the same as the production one. Moreover results from development environment are sometimes difficult to extrapolate; consequently it is often required to test in production.

Conclusion

Doing load tests helps identify bottlenecks like memory leaks, minimize the number of HTTP requests, find sub-optimal SQL queries etc. Load testing will certainly help you build faster websites and should be considered a critical part of the process of optimization of the entire delivery chain throughout the application lifecycle. As more and more companies begin to feel the pressure to get “faster” performance out of their applications, no doubt, they too will seek to integrate load testing into their overall strategy.

One Response
  1. June 6, 2012

Leave a Reply

Your email address will not be published. Required fields are marked *