Reading/Multimedia/Performance Analysis

This analysis is dated March 17th 2014. Media Viewer, which is what's being measured here, is currently in beta testing on various websites. For a few weeks now, we've been measuring detailed network performance on a sample of users.

= What the graphs tell us =

Some of the data has been put in the form of limn graphs. What do these graphs tell us?


 * Most API calls have stable performance, between 0 and 200ms.
 * The "Global usage" API call has noticeable spikes (10 times slower than usual on March 11th). We should investigate what could cause this API call to be slow sometimes.
 * "Image usage" and "Image info" have smaller spikes, not sure if they're worth investigating right now.
 * Image load performance has seen noticeable spikes. I think the issue here is that the graphs don't differentiate varnish cache hits and misses. It's likely that the spike on March 11th was due to someone visiting a gallery full of uncached thumbs. Further analysis is required.

= What the graphs don't tell us =

We'll need to look directly at the SQL data to get answers to these questions. We might make new graphs for them if they seem worth tracking continuously.


 * What's the performance geographical distribution? Are some countries impacted by poor performance that isn't proportional to these countrie's average internet speed? We might not have enough data to answer this question at the moment, though.
 * What's the performance of http vs https?
 * What's the mean image load time for varnish cache hits vs cache misses?

All calls except image calls have varnish data. This is because Chrome blocks header access on CORS requests. As a result we don't have any data to answer this question, which is probably the most important one. There is hope, though, as the "Access-Control-Expose-Headers" header might do the trick. I've sent a changeset to ops to turn it on for images. We basically need: Access-Control-Expose-Headers: Content-Length, X-Cache, X-Varnish, Age, Date
 * If we have enough data about bandwidth information, to what degree does our performance correlate with bandwidth?

We don't have any entries with "bandwidth" set (would come from mobile traffic). We'll need more data before we can answer that question.