The golden rule of web performance revisited (Wikipedia edition)

Flashback to 2007: an engineer at Yahoo named Steve Souders studied users' time spent for different web sites and came to the conclusion that 80-90% of the load time of a web page is spent in the frontend (compared to the backend). He did a follow up 2012 and numbers were the same. He called it the web performance golden rule. What does that mean? Well, the conclusion was that to decrease the load time for users, start by optimising the frontend since there’s so much more time spent there.

I wonder if the same percentage applies to Wikipedia? We are serving content to the whole world and some of our users are far from our data centers. We have users with slow devices and slow internet connection. Also a lot has happened since 2007: traffic moved from desktop only to over 50% on mobile. Does that percentage apply? Let's find out!

How do we get the metrics?

We collect the metrics we need in our Navigation Timing Extension. The data is collected from real users. In the original post the time used for the calculations is the time to first byte and when the load event end happens (all responses are loaded) so let's use the same. We don’t do the calculation per user, instead we can use median or percentiles of those specific metrics. And we can slice and dice it per country and per desktop/mobile.

Users in the USA

Let's first look at desktop traffic from the USA, using the 50 percentile. That's the median and means that 50% of the users have that experience or better. Here we can see that 15% is spent in the backend and 85% is spent in the frontend. That matches Steve's findings.

Screenshot 2023-11-08 at 09.05.01.png (1×2 px, 246 KB)

But just to make sure, let's look at 95 percentile (the users in the USA that have the slower experience). We can see an increase in time spent in the backend 22% but the majority of the time is still spent in the frontend.

Screenshot 2023-11-10 at 05.56.46.png (1×2 px, 245 KB)

So what kind of numbers do you think our mobile users have? Let's again look at the 50 and 95 percentile.

Screenshot 2023-11-08 at 08.54.21.png (1×2 px, 244 KB)

Screenshot 2023-11-08 at 08.54.45.png (1×2 px, 249 KB)

Ah ok, we can see that more time here is spent in the backend. Something between 25-33%. Still the frontend is the major part.

Does this reflect in the rest of the world?

India, South Africa and Brazil

Here's a couple of graphs for mobile users in India, South Africa and users in Brazil. What we can see is that we have higher numbers than Steves' original study but users still spend 2/3 of the time in the frontend.

Screenshot 2023-11-08 at 08.55.01.png (1×2 px, 261 KB)

Screenshot 2023-11-08 at 08.55.58.png (1×2 px, 276 KB)

Screenshot 2023-11-08 at 08.56.16.png (1×2 px, 268 KB)

Summary

I think it's fair to say that our users spend most time in the frontend. You can check out the dashboard yourself and dig into our data.

But do the frontend/backend measurements give us the full story of our users' experience? Noooo it doesn't, it shows us where we should focus. In the next blog post I'll look deeper into the actual experience of our users.

Written by Peter on Nov 14 2023, 12:45 PM.
Software Engineer, Wikimedia Foundation
Projects
None
Subscribers
FeralOink, Quiddity, brennen, ayazsheikh
Tokens
"Meh!" token, awarded by Wlknurl89."Barnstar" token, awarded by Bongo-Cat."Barnstar" token, awarded by Bawolff."Like" token, awarded by Frostly."Like" token, awarded by Jdlrobson."Like" token, awarded by santhosh.

Event Timeline

This comment was removed by Quiddity.
This comment was removed by Quiddity.
This comment was removed by brennen.