Assessing Performance and 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?
(Incidentally – we offer a free monitoring account, and you can set it up in about 5 seconds.)
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 are definitely an occasional performance problem.
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 web site that relies on the FB widget, you can minimize the performance hit by loading it asynchronously.
And the broader point is: there’s 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.