How To Measure Web Site Performance

2010 update:
Lo, the Web Performance Advent Calendar hath moved

Dec 16 This article is part of the 2009 performance advent calendar. Today's article is a contribution from Eric Goldsmith. Please welcome Eric and stay tuned for the articles to come.

Eric GoldsmithEric Goldsmith (@GoldsmithEric), Operations Architect at AOL, has more than 20 years of experience providing technical leadership in the areas of product development, engineering and operations. At AOL he has led efforts to deliver the highest levels of performance and availability for top Web sites, including: AOL.com; AIM.com; and AOL Video; among others.

His areas of expertise include Performance Analysis, Capacity Planning, Network Engineering, and Software Development. Prior to AOL, Eric worked for companies such as UUNet, WorldCom and CompuServe, as well as telecom and Internet startups. He holds a BS in Computer Science from The Ohio State University.

When trying to quantify the performance of a Web site, we most commonly mean the response time. The two most common methods of gathering response time data are from Field Metrics and Synthetic Measurement.

Field Metrics measure response time from real user traffic, and generally rely on JS instrumentation of the pages, or toolbars to collect data. Synthetic Measurement involves loading pages in one of a myriad of tools designed to collect metrics. Each method has its strengths and weaknesses - but that's a discussion for another time.

Synthetic Measurement is an easy way to get started quantifying your site performance. But there are some important guidelines for getting accurate results.

Test Speed

A common mistake people make when testing the response time of a Web site is testing on their office network. According to Speedtest.net, my office network gives me 53 Mbps. A typical DSL user gets about 1.5 Mbps, or 35 times slower.

How much difference does this make in practice?

CNN Response Times

I tested cnn.com with Webpagtest at two different speeds. At DSL speeds (1.5 Mbps) it loads in ~15 seconds, while at FIOS speeds (20 Mbps) it loads in ~ 3 seconds - a 5x difference.

This demonstrates how a developer testing from his workstation in the office could see a 3s load time, and conclude that all is well. While a home user on DSL could see a 15s load time and abandon the site due to slowness.

As mentioned above, you can test at different speeds with Webpagetest. And if you want to simulate different speeds from your desktop, try AKMA Labs' Network Delay Simulator.

Test Location

Does a site perform differently from LA vs. NY? US vs. UK?

This double waterfall excerpt (the waterfalls from two test executions overlayed together) demonstrates the difference in response time for a page measured from East and West coasts.

East vs. West

A difference of ~ 2 seconds of load time, based solely on where the measurement was taken.

Now, this is a particularly egregious example, and it's possible to design your site so geographic differences are minimized. But you have to know there's a problem before you can solve it.

So, where should you test your site? From where your users are. Most web analytics tools will provide this information. For example, here's what Google Analytics shows for Webpagetest:

Usage by Geography

The ability to test from different locations is available from Webpagetest (if you're interested in hosting a location, let me know), and from Keynote via their KITE tool.

Test Iterations

Can you accurately determine the response time of your site with a single measurement?

The figure below is a typical response time distribution for a Web site.

Response Time Distribution

If you only took a single measurement, where would it fall on the distribution? For example, it could be the left-most red circle - or the right-most (or anywhere else). The delta between those two points is more than 4 seconds. So, what's the response time of your site?

There are two things to consider when trying to answer that: how many measurements (samples) do you need, and how do you coalesce them into a representative number?

Determining the number of measurements needed can get complicated. But in general, 30 or more is suggested.

How to aggregate all that data into a response time number is subject all it's own, and a whole 'nother discussion. It's common practice to just average them. That's not an ideal approach, but it's a starting point, and gets the dialog started.

This entry was posted on Wednesday, December 16th, 2009 and is filed under performance. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.


Get notification for future posts: follow me on Twitter or subscribe to my RSS feed

14 Responses to “How To Measure Web Site Performance”

  1. Per Olsson Says:

    Interesting post. When this testing is made from different locations etc, is it a good idea to test users perception of the site? Is there good metrics for that or is it to random?

  2. Lenny Rachitsky Says:

    Another tool you can use to test your page performance from around the world: http://bit.ly/7jrbfh

  3. george naing Says:

    Thank you.
    But, how frequently should we doo such tests?

  4. george naing Says:

    Thank you.

    How often should we take such measurements?

  5. george naing Says:

    Apparently, the author does not track comments.

  6. Performance Calendar 2010: “WPO Analytics” | Wim Leers Says:

    [...] monitoring services such as Gomez, Keynote, Webmetrics, Pingdom, Webpagetest (which was also featured in last year's web performance advent calendar) and recent newcomers such as Yottaa are all examples of synthetic performance monitoring (SPM) [...]

  7. Craig Says:

    Great post, never seen webpagetest.org before, I just tested my new blog and got “Page Speed Score: 83/100″ 2 A’s and 4 F”s

    So I guess there is lots of room for improvement.

    Here is a link to google own tool http://pagespeed.googlelabs.com/#url=plrwpblogs.com&mobile=false

  8. yukie Says:

    There are really some sites that takes some seconds to respond. It’s a great post you have shared.

  9. Dave Says:

    I put my site into webpagetest.org too. As well as showing various metrics it came up with lots of suggestions as to how it could be improved all round – compression etc. I’m certainly going to implement some of these – the ones I understand anyway. Thank you for the tip.

  10. Roy Says:

    I had never heard of webpagetest before only speedtest.net, so this is a great tip. However I did try not to compare the speed you guys get with my own. I am lucky to get dial up speeds at weekends even when using WiFi or WiMax broadband.

  11. Psychic Reviews Says:

    Do field metrics data for a web site differ at different times of the day? How do you consider internet bandwidth into the equation?

  12. BIRS Says:

    how to test mine

  13. Custom Car ECU Remapping and Chip Tuning experts. Offering a mobile service across Northern England and Southern Scotland. Says:

    I will immediately grasp your rss as I can not find your email subscription hyperlink or e-newsletter service. Do you’ve any? Please allow me recognise so that I may subscribe. Thanks.

  14. Vivek Says:

    i prefer web based tools

Leave a Reply