Hosting & uptime

What your host is responsible for, and what your site is

A slow website has two possible causes, and from the outside they feel identical. One is fixed by changing your hosting; the other is not, and a bigger server will not touch it.

Two problems that feel identical

Your pages take too long, some visitors leave before anything appears, and nothing in your inbox tells you who. There are two separate reasons that happens. Either your server is slow to answer at all, or it answers quickly and the page then asks the browser to fetch a great deal more. The first is your host's. The second follows you to any host you move to.

Buyers usually pay for the wrong one. A hosting upgrade is easy to sell and easy to buy, and it does nothing for a homepage carrying two megabytes of uncompressed photographs. The reverse happens too: a week spent trimming JavaScript on a server that needs four seconds to send the first byte. The audit keeps the two apart by measuring them apart.

What the server itself is measured on

The first measurement is how long your server takes to answer one plain request. Over 0.5 seconds is noted, over 2 seconds is raised as a warning, over 5 seconds as critical. The hosting section adds its own line at 1,500 ms, with the two fixes the code actually names: work on the backend, or put a CDN in front. Both of those are your host's territory.

The clock starts before the request and stops when the whole HTML document has arrived, redirects included, so it is a larger figure than a pure time-to-first-byte, and a redirect chain shows up inside it. Google's 800 ms threshold describes something else again: the time-to-first-byte real Chrome users recorded, which the audit reads from Google's field data rather than from our own request. Compression and caching headers come from that same response, and both are settings on the server rather than changes to your website.

Ten requests at once

Idle latency flatters a cheap server, so the hosting check sends ten requests at the same moment and records how many came back, the average time under that load, and the slow tail at the 95th percentile. Fewer than ten successes is a warning about capacity. Ten successes with an average over 2,000 ms is recorded as informational: everyone was answered, slowly.

Ten simultaneous requests is not a stress test and is not described as one. It is the smallest number that separates quick when nobody is looking from quick when two people arrive together. The comparison is the useful part. A single request back in 300 ms and a concurrent average of 3,000 ms is a server running out of room, not a heavy page. The test counts any reply below a 500 status as a success, because it is asking whether the server answered, not whether the page was correct.

Uptime, and what three requests can honestly say

The availability figure in the report comes from three requests taken a fifth of a second apart. It raises no finding in either direction; it is recorded and shown. Three requests in one moment cannot tell you whether your site was down at four on Sunday morning. Uptime is a claim that only continuous monitoring earns, and this engine does not monitor, so it does not make the claim.

Five hosting questions that matter cannot be answered from outside: whether backups run and have ever been restored, whether deploys go through a pipeline, whether staging is separate from production, whether anything logs and alerts, and whether the bill is watched. They are printed as a checklist under not assessed remotely. They used to be raised as findings on every audit, which meant faultless infrastructure could never score 100, and five items nobody had looked at padded the issue count on the front of the report.

DNS, and the lookup that did not happen

Every visit begins with a DNS lookup, and the audit makes about fifteen of its own. Each is asked over ordinary DNS first, with a six-second limit, then over DNS-over-HTTPS if that fails — because plenty of consumer connections quietly intercept or drop port 53, including the one this tool was written on, where google.com's TXT record times out over UDP and resolves instantly over HTTPS.

When both transports fail, the record is reported as unmeasured with that reason, never as missing. That rule runs through the whole engine, and it was learned here: an unanswered lookup used to produce four confident findings telling a stranger their email authentication was broken, when it was our connection that had failed. The DNS finding this page owns is DNSSEC, raised as informational when no DNSKEY record exists. Without signed answers a poisoned resolver can send your visitors to someone else's server, and the padlock still appears, because the certificate belongs to whatever answered.

What the engine checks here

Each of these is a rule in the code, not a category heading.

Questions

My developer says it is the host and my host says it is the site. Which is it?

The report gives you the numbers that settle it: how long a single request took, how long ten concurrent requests took on average, and how much the page weighs. A quick single request with a slow concurrent average points at capacity on the server. A single request that stays quick under load, on a large page with a long list of render-blocking files, points at the website. Both can be true at once, and when they are, both are listed.

Will a more expensive hosting plan make my site faster?

Sometimes, and the measurements say when. If the server is slow to answer one plain request, or fails when ten arrive together, that is exactly what a better plan buys. If it answers in a couple of hundred milliseconds and the page is still slow, a bigger plan changes nothing, because the wait is in what the page asks the browser to fetch afterwards. Compression and caching headers sit in between: server settings, usually free to switch on, and often the cheapest improvement in the whole report.

Can you tell me my uptime percentage?

No, and the report does not pretend to. The availability figure comes from three requests taken moments apart during the audit, and it raises no finding either way. A real uptime figure needs something checking your site continuously for weeks, which is monitoring rather than an audit. If you want that, it is separate work, and we would rather say so than hand you a number we did not measure.

Sources

Public and checkable. Nothing here rests on a number we cannot point at.

This is one of fifteen categories. You can read a real report this engine produced on this very site — including the findings it raised against us — or ask for an audit of yours.