We Ran Uptime Checks Every 5 Minutes for a Month. One Free Host Missed 14 Hours.
Photo: server room blinking lights at night monitoring dashboard, via img.freepik.com
Everybody's status page says 99.9% uptime. Very few people actually check. So we did.
For 30 days straight, we pointed three independent monitoring services — UptimeRobot, Better Stack, and a cron job pinging from a $5 VPS in Virginia — at five of the most popular free hosting tiers developers actually use. Every five minutes, from both US coasts. No manual restarts, no generous interpretations of a 'blip.' If the monitor saw a failure, it counted.
Here's what a month of 24/7 surveillance revealed.
The Contenders
We tested five hosts across the free-tier spectrum: a generous PaaS-style free plan, a static-site-friendly app host, a classic free shared hosting provider, a database-plus-app combo tier, and a container-based free option. We deployed the same lightweight Node.js health endpoint to each, so we were measuring the platform, not our code.
A quick honesty note: free tiers share infrastructure with paying customers, and they're often deprioritized during incidents. That's not a scandal — it's economics. But it means 'free' and 'always-on' don't always belong in the same sentence.
The Results, Plainly
Over 30 days (roughly 8,600 checks per host), here's how they shook out:
The PaaS favorite: 99.72% uptime. Solid, but it had one rough Tuesday — a 47-minute regional outage that hit its free region first. Latency from both coasts stayed under 200ms nearly the entire month.
The static host: 99.94%, the best of the bunch. Makes sense — serving static files is a solved problem. If your project is a landing page or portfolio, this is the closest thing to 'set it and forget it.'
The shared hosting veteran: 98.61%. The surprise here wasn't the downtime — it was the pattern. Its worst latency spikes happened between 1 a.m. and 4 a.m. Eastern, repeatedly. Nightly maintenance windows, probably, but nothing was ever announced. Our 3 a.m. checks from the West Coast routinely saw 3–5x normal response times.
The container tier: 97.88%, and the numbers came with an asterisk. Free containers sleep when idle, and cold starts took 20–45 seconds. If you count a sleeping app as downtime (your users will), the real number is uglier.
The free shared newcomer: 96.1% — including a cumulative 14+ hours offline across several incidents, with zero status page acknowledgment for three of them. We found out from our own monitors, not from the host.
What Actually Matters in the Data
Raw uptime percentage only tells half the story. Three things stood out:
Transparency beats perfection. The PaaS host had its worst week mid-test, but its status page was updated within minutes and we got a post-mortem. The newcomer with the worst uptime? Radio silence. I'd rather have 99.5% and a heads-up than 96% and a shrug.
Time zones are real. If your audience is in the US, check when your host does maintenance. A provider that's 'fine' during European business hours can be a ghost town at midnight Eastern.
Cold starts are downtime in disguise. Free container and serverless tiers love to advertise 99.9% availability while your app takes 30 seconds to wake up. Monitor from a cold state, not a warm one.
Our Takeaway
If you're running a portfolio site or a hobby project where an occasional blip is survivable, most of these free tiers will serve you fine — the static host in particular was genuinely excellent. If you're running something with real users, though, the 14-hours-offline crowd is a reminder that on free hosting, you're the QA department, the status page subscriber, and the on-call engineer.
Set up your own monitoring before your users become it. It's free, fittingly, and it's the only uptime number you can actually trust.