Trimming load times worldwide

The Call

On Sunday evening, I got the call from Pagerduty:  The always-amazing Andrea Wood had noticed a discrepancy in bounce rates and load times for our fundraising page on Firefox browsers.

The Investigation

I immediately hopped onto some of our metrics systems, and started piecing together what seemed to be a huge discrepancy in performance of our donation form for a specific browser. Firefox itself was not the culprit, but rather it turned out to be where our population using the browser lived.  Firefox, being so heavily dominant in non-North American cultures, appeared to be overall slower, but what it actually meant was that more overseas folks used Firefox!  Yay!

To figure this out, I went through the following steps (tools used:  Google Analytics and Webpagetest.org):

  • Verified that browser load times of our fundraising page on Firefox were in fact worse than other browsers.
  • Verified that bounce rate was in fact much higher for Firefox than other browsers.
  • I used webpagetest.org to test a Firefox load of the page versus Chrome/IE8 from the same location.  These results did show that Firefox was on par with the other browsers for load time from the same geographical location.
  • I used webpagetest.org to test a Firefox load of the page from London, which showed we had a 18s load time in the UK compared to a 4s load time in the US.
  • Having now identified the true culprit (geography), we assessed what our page was putting on browsers to load….   That turned out to be 49% images.
conversion-by-browser

If load times and bounce rates are so bad, I’d expect to see that reflected in conversion rates…but I don’t.

Google Analytics does show that Firefox is much slower though!

Google Analytics does show that Firefox is much slower though!

OK then, I see that performance for Firefox from the US is not bad at all!

OK then, I see that performance for Firefox from the US is not bad at all!

 

But, I do see that overseas Firefox traffic is slow...thus it is not the browser impacting load time, but the geography of our users!

But, I do see that overseas Firefox traffic is slow…thus it is not the browser impacting load time, but the geography of our users!

 

The Improvements

A CDN (Content Delivery Network) is basically a collection of hundreds or thousands of servers, dispersed all over the world.  You can host your static assets, such as .html files, .css files, images, and js files on these thousands of servers, and then when our friends overseas pull up the page, it pulls up those files from a geographically close CDN “edge server”.  Just like flying to a faraway land, the longer the trip, the longer the time spent traveling!  If we use a CDN to make it so that trip is much shorter, the browser will spend less time “traveling” to the page.

We decided to move just our images, 49% of our page load, onto a CDN (Cloudfront, the AWS CDN).  We saw amazing results just from this small change.

Conclusion

We know in this industry that one extra second of load time can bring conversion down 7%, so it is critical that our fundraising forms load fast.  Since we are so global here at Mozilla, it is even more critical that we do not forget about non-North American audiences, and optimize our pages for them.  Shaving off 19 seconds for South Korea, 5-10 seconds for London, and even a half of a second here in the states should definitely help our already-amazing conversion rates!

fortheuser

 

3 responses

  1. Anonymous wrote on :

    Two seconds? What is that page *doing*? ping times to those locations are in the hundreds of milliseconds; you ought to be able to load a page in less than a second.

  2. JP Schneider wrote on :

    I fixed it, it is 12s, not 2s. I wish it was 2s ;).

    I’ll take what I can get for the moment, and then grab a bit more hopefully tomorrow with the rest of assets.

  3. JP Schneider wrote on :

    It’s unfortunately something outside of our control at Mozilla Foundation at the moment. :/

    We do not host the infra for the fundraising pages, though I wish I did this year. :)
    We host a backup form…and I wish it was our production page with some additional functionality…but there wasn’t time.

    http://www.webpagetest.org/video/view.php?id=141224_02127989d1ad07c1f5376b55ad508e21d89c88b9