Posts

Showing posts from July, 2012

Measuring CDN Performance With Real Users

Image
This is cross posted on the Wayfair Engineering Blog A couple of weeks ago I ran a test with WebPagetest that was designed to quantify how much a CDN improves performance for users that are far from your origin.  Unfortunately, the test indicated that there was no material performance benefit to having a CDN in place.  This conclusion sparked a lively discussion in the comments and on Google+, with the overwhelming suggestion being that Real User Monitoring data was necessary to draw a firm conclusion about the impact of CDNs on performance.  To gather this data I turned to the Insight product and its "tagging" feature. Before I get into the nitty-gritty details I'll give you the punch line: the test with real users confirmed the results from the synthetic one, showing no major performance improvement due to the use of a CDN. Implementation Details:  Prior to this test we served our static content (CSS, JS, and images) from three domains: common.csnima

Measuring CDN Performance With WebPagetest

Image
When I was at Velocity  I heard about a quick and useful trick you can do with WebPagetest to measure the effectiveness of your CDN.  The steps are pretty simple: Test a URL on your site from a location that is far from your origin. Using the scripting tab in WebPagetest, point your CDN domains at your origin IP, and run another test. Compare the results, and see how much your CDN is helping you! Let's break this down for a Wayfair URL. Step 1:  Test a URL on Your Site Normally Since we only have our static content on our CDN, I chose a URL that has a lot of images on it, what we call a "superbrowse" page -  http://www.wayfair.com/Outdoor-Wall-Lights-C416512.html .  Since our origin is in the Boston area, I picked the LA node in WebPagetest to give our CDN the best chance of success.  To try and smooth out the results, I configured the test to run 10 times.  It also helps to login and label your test so you can easily find it later.   While this was