Assessing Performance & Reliability of Page Assets (or, “How Reliable IS the Facebook Widget?”)
In a recent blog post, I wrote about a Facebook widget slowing down Lenny Kravitz’s new web site.
To drill into this a bit more, I decided to monitor performance of just that asset – monitoring the Facebook widget using Yottaa’s network of real browsers located across the planet. The goal was to assess:
- What is the nominal performance of the widget?
- How reliable is it?
- How often are there performance outliers, and how bad are they?
After setting up the monitor and waiting a few days, Yottaa collected thousands of samples. Here?s a scatter plot of the Time to Interact metric.
I decided to define 3 key issues (with corresponding alerts that can be delivered via email or SMS):
So how did Facebook do? Well, on average the widget is fairly robust, though there is definitely occasional performance problems.
The widget typically pops up in just about half a second (458 msec). But, there are the occasional outliers, as seen on the scatter chart above. So, I wanted to drill into the data further. One cool feature we recently rolled out is the ability to export any metrics collected. So, I exported the data into Excel and did some analysis. From the histogram, we see that approximately 3.5% of the samples are above one second (in fact, sometimes reaching 30 seconds, likely during traffic spikes for the Facebook widget).
And, to get a sense as to how this varies around the world, here’s the performance by geography: both the average value, and the standard deviation (as an indicator of just how much variability there is in that location).
It’s interesting to note that there’s quite a bit of variation in performance: In Tokyo, the widget loads quickly, with a very small amount of variation; on the other hand, Sao Paolo are 2-4X slower, with an order of magnitude more spread.
Alerting & Notification
Yottaa Site Monitor kept me notified whenever the widget encountered any of the issues I defined above.
So What Can You Do to Address This?
Well, if you’re on the Facebook infrastructure team, you may want to look into the variability in the widget’s performance! 🙂 In fact, it’s ironic that while Facebook does a ton of things to make THEIR site fast, their widgets tend to make OTHER sites slower.
Otherwise, if you’re responsible for a website that relies on the FB widget, you can minimize the performance hit by loading it asynchronously.
And the broader point is: there are a lot of reasons a site can go down, so monitoring, alerting, deep-dive analysis and troubleshooting are invaluable tools that are now within reach of any company, rather than Internet giants like Amazon and Facebook.