Alois Reitbauer About the Author

Web Performance Optimization Use Cases – Part 1 Benchmarking

Web Performance Optimization (WPO) constitutes of a set of activities targeted at improving the performance of web applications. First coined by Steve Souders WPO is developing into a growing industry. Every month new companies and projects offering web performance services emerge.

WPO is much more than performance analysis; however, performance analysis is a central part in WPO activities as you must first have the data to decide what you are targeting and even more important to create a business case for web performance in your organization.

Getting started with WPO is really easy and you do not need a big budget. There are numerous free tools on the market that will be of great help. I will focus on how to use dynaTrace Ajax Edition – a free tool for web performance analysis – but you can also use YSlow, PageSpeed or one of the other numerous services out there. The beauty of dynaTrace is that it covers a wide variety of WPO use cases.

In this first post I will focus on the first use case – benchmarking. In upcoming posts I will dig into optimization, JavaScript diagnostics and finally performance optimization. I will keep the examples straightforward and focused on real world problems so you easily apply them to your application.

Benchmarking

The first practice we will be discussing is benchmarking. Benchmarking is a standard technique to analyze how you are doing compared to others in the field. Optimization is always a never-ending story. Once you have removed one bottleneck the next one is just ready to appear. So you need some guidance where you are compared to your competition, and whether you need to optimize further or not. Knowing where you are is the first step in deciding where to improve.

Besides helping with technical analysis, benchmarking will also enable you to communicate with business. As I wrote in another post the inability to communicate with business owners is one of the major reasons why performance projects fail.

So let’s start with a practical example, and assume you are a rental car company. Most rental cars today are reserved online and users naturally try to find the best offer either by searching on a couple of sites or by using a third-party service. Normally you also often tweak around how much it would cost to get a bigger car, return it a bit earlier etc. So the performance of your rental car web site is crucial to your business.

So, what is your first step when you want to optimize the performance of your web presence? You will have a look how fast your page is compared to your competition, right? This is what benchmarking is all about. Today there is constantly increasing interest in this field as more and more services providing web benchmarking emerge on the market.

With dynaTrace Ajax Edition we can easily create our own benchmark within minutes. Taking our car rental example from above, we simply browse the major car rental company sites and look at the overview pane of the performance report as shown below.

We see all end-user performance-relevant metrics for the rental car sites we visited. In fact we even validate against two different benchmarks. First, we have a comparison of end-user-relevant timing information across all sites which allow us to compare ourselves against the competition. Second, each metric is compared against best practice thresholds. So let’s have a look at the information we get and how to read it.

Comparison of rental car sites (second Avis page is redirect target)

Comparison of rental car sites (second Avis page is redirect target)

The rank column is inspired by similar rankings in tools like YSlow and PageSpeed. The major difference in dynaTrace is that actual timings are included in the rank information as well. So even if you follow all web performance best practices you might still get a bad ranking if your site is slow (which hopefully should not happen)

The additional metrics provide more- detailed insight into the performance of the various sites. First Impression Time indicates the time of the first visual impression of a page, onLoad Time is time when the onLoad event is fired, and the Fully Loaded Time indicates when all content including content dynamically loaded in onLoad handlers has finished downloading. This metric becomes especially important the more you defer loading to a later time in the page lifecycle.

The server and client time metrics finally indicate how much time is spent on the server-side and in client- side JavaScript processing.

The beauty of this information is that it can be used in two different ways. First you can use it to communicate with business and marketing staff supporting your claim that your company needs to optimize its web site’s performance. This information often really helps you to make a business case for web performance. In case you want to go beyond this level of information you might integrate Google Analytics results, as described in another blog.

The information can also be easily copy-and-pasted into Excel so you can easily include it into reports.

Conclusion

Benchmarks really make a difference in how you look at your site’s performance. They serve an important purpose from the business as well as the technology perspective. Comparing yourself against your main competitors only takes you a couple of minutes, and is more than worth that time. It won’t hurt – and if it does wait for the next post on optimization.

Comments

  1. I think Benchmarking is the preferred practice of companies that haven’t developed their own internal logic of performance improvement. anyways thanks for sharing great knowledge…..

Comments

*


5 + seven =