My finger on the pulse (and the pulse is a web server)

To be honest: I have a small obsession. I stop just short of calling it an obsession, so let’s call it a “challenge”. Every time I change something on my sites, a new layout, a nice effect, an animation I’m just a little too proud of, I unleash Google PageSpeed on it. And the result must always be 100/100/100/100, on mobile (the most important these days) and on desktop. Not 99. Not “almost”. Yes, I know that sounds deranged. It’s professional deformation.

The super-fast fox: the fox wearing a red racing helmet, with the text The Need For Speed
The super-fast fox

Why do I do this?

Because it counts for more and more with Google. It all started with PageRank, Larry Page’s algorithm (the name really is a pun on his surname): a page mattered if many other pages linked to it. Years later hundreds of other signals were added. Since 2021 that includes the experience of your page, the so-called Core Web Vitals: how quickly does the largest piece of content appear (LCP), how quickly does the page respond when you tap it (INP), and does everything stay put while you read (CLS)? Google itself adds that good content always comes first. But when two pages are equally good, the one that doesn’t sit there thinking for three seconds often wins. So speed is no substitute for content. It is the passenger that stays out of its way.

So what actually determines how fast a website is?

Many people think: shrink the images and you’re done. That’s a start, but most of it happens on the server:

  • The first byte. How long does it take before the server starts answering? With me that is about 20 milliseconds. That’s because the pages are built by a fast PHP layer, and because the server doesn’t have to work everything out again for every visitor.
  • Compression. Pages travel compressed (Brotli), so the visitor has less to download.
  • Smart order. The CSS sits in the page itself, fonts are fetched in advance, images are modern and small (WebP). Everything that holds up the first render, I remove.
  • Enough hands on the pump. When many visitors arrive at the same time, enough PHP processes must be ready. Mine was set to ten. Ten! For a server with eight cores and 16 GB of memory that is roughly a petrol station with a single pump. It is now set to forty.

How I keep it at 100

By measuring, constantly. A PageSpeed run after every change, and on the server a little log that records the load every minute, with an alarm that emails me when things get out of hand. Recently I tested that alarm by accident myself, by loading my own sites with a thousand fake visitors. The alarm worked splendidly. The conclusion of the test: up to five hundred simultaneous visitors, no error at all; at a thousand it starts to creak. I sleep soundly.

And that’s where A.I. comes in. It does the measuring in the background, keeps an eye on the logs and points out when something deviates. Like having an assistant who keeps feeling your pulse and doesn’t complain about the hourly rate. My finger stays on the pulse. So does the A.I.’s.

And now, a little bragging

Oh, and while I’m bragging anyway: below is a performance comparison with a number of leading Dutch sites. Sites that I expect (yes, I know) to have far more visitors than I do, and to be scalable and optimised to five decimal places. I gave them the mobile Lighthouse test (the engine under PageSpeed), three times from the same data centre, and took the middle result. My own four sites score 100 on mobile in Google’s own PageSpeed. The well-known names score between 20 and 68, with the Rijksoverheid (the Dutch government, 68), Tweakers and NU.nl (both 67) at the top. Marktplaats closes the field with 20, and at the Belastingdienst (the Dutch tax office) it took 26.8 seconds before the largest part of the page appeared. (Self-praise is no recommendation, I know. It’s starting to smell in here.)

Bar chart of the mobile PageSpeed score: my four sites score 100, well-known Dutch sites between 20 and 68
PageSpeed on mobile: my sites against well-known sites (click to enlarge)

To stay honest: this is not a fair contest. Those big sites carry ads, trackers, video and millions of visitors a day; I have a fox and a handful of pages. It is also my own measurement from a data centre, not an official ranking, and in that same measurement my own sites scored slightly lower (97 to 100) than in Google’s own PageSpeed (100). So the well-known sites might come out a bit higher there too. bol.com wouldn’t let itself be measured: it blocks the test. But a little bragging is allowed when you keep four sites this carefully tuned for speed.

Once again: it is not an obsession, mind you. But it is fun. And a little professional deformation.

Regards,Pim

Share this story

← Back to the blog

TL;DR

The short version

  • After every change I unleash Google PageSpeed on my sites: 100/100/100/100, on mobile and desktop.
  • Speed is no substitute for good content, but it often decides when two pages are equally good (Core Web Vitals).
  • On the server what counts is a fast first byte, compression, a smart load order and enough PHP processes (from 10 to 40).
  • Measuring, logging and alarms keep it at 100. My sites score 100, well-known Dutch sites 20 to 68.

TL;DR

What does TL;DR mean?

TL;DR stands for “Too Long; Didn’t Read”. It is internet slang for the short version: the main points in a few lines, for when you are in a hurry or just want to know what a story is about.