99.9 uptime calculator

At 99.9% uptime the calculator gives 1m 26.4s of allowed downtime per day, 10m 4.8s per week, 43m 49.8s per month, 2h 11m 29.4s per quarter and 8h 45m 57.6s per year.

99.9% uptime allows 8h 45m 57.6s of downtime a year.

PeriodDowntime allowed
Day1m 26.4s
Week10m 4.8s
Month43m 49.8s
Quarter2h 11m 29.4s
Year8h 45m 57.6s

Three nines is the number most founders write on the pricing page first, usually before measuring anything. The calculator has it preset. It assumes 24/7 service, a 365.25-day year and a month of one twelfth of that, 30.44 days. One tenth of one percent of each period is the budget.

99.9 uptime: the full table

  • Per day: 1m 26.4s (86.4 seconds)
  • Per week: 10m 4.8s (604.8 seconds)
  • Per month: 43m 49.8s (2,629.8 seconds)
  • Per quarter: 2h 11m 29.4s (7,889.4 seconds)
  • Per year: 8h 45m 57.6s (31,557.6 seconds)

99.9 uptime per month

The monthly figure is the one that bites, because most SLAs and most status pages reset monthly. 43 minutes sounds generous until you add up what eats it. A deploy that restarts the only instance for 90 seconds, twice a week, spends about 13 minutes a month before anything has actually broken. One migration that holds a lock for half an hour takes the rest. Calendar months move the line too: February allows 40m 19.2s, a 30-day month 43m 12s and a 31-day month 44m 38.4s.

99.9 uptime per year

8h 45m 57.6s a year looks like a full working day of slack. It is not spread evenly. A yearly 99.9% survives one 8-hour outage in March and a clean rest of the year. A monthly 99.9% fails March by more than 7 hours. If you promise 99.9 to customers, promise it per month. It is the stricter reading and the one they will check.

99.9 availability downtime in failed checks

budget.js
// What 99.9% allows, in time and in failed checks.
const MONTH = (365.25 * 86400) / 12; // 2,629,800 seconds
const budget = MONTH * (1 - 99.9 / 100); // 2629.8 seconds = 43m 49.8s

for (const interval of [300, 60, 15]) {
  const checks = MONTH / interval;
  const allowed = Math.floor(budget / interval);
  console.log(`${interval}s interval: ${checks} checks, ${allowed} may fail`);
}
// 300s interval: 8766 checks, 8 may fail
// 60s interval: 43830 checks, 43 may fail
// 15s interval: 175320 checks, 175 may fail

Logdash counts uptime as successful checks over all checks, where a check succeeds on a status code from 200 to 399 within 10 seconds. On the free plan, 8 failed checks a month keep you at 99.9 and the 9th puts you under. On Pro, at 15 seconds, the same budget is 175 failed checks, a much finer picture of what happened. A 3-minute outage can fall between two 5-minute checks and never count at all. The Logdash uptime badge is green at 99.9% and above and amber below it, down to 99%, so the number on your README draws the same line.

  1. Add the URL Create a service in Logdash and give the monitor your public URL or health route. The first check runs straight away and records the status code and response time.
  2. Pick an interval that can see 43 minutes Every 5 minutes on the free plan is 8,766 checks a month, enough for 99.9. Builder checks every minute for $9 a month, Pro every 15 seconds for $15.
  3. Get the first failure on your phone Connect a Telegram channel and stop the app for one interval. The monitor flips to down on the first failed check and Telegram delivers the alert with the monitor name and the status code, while most of the 43 minutes is still unspent.

Measuring 99.9: Logdash vs UptimeRobot

FeatureLogdashUptimeRobot
Free check intervalEvery 5 minutes, 8 failed checks fit in a 99.9 monthEvery 5 minutes, the same 8
Monitors on the free plan5 services50 monitors
Fastest paid interval15 seconds on Pro60 seconds on Solo, 30 seconds on Team
Alert channelsTelegram and webhookEmail, SMS, voice, Slack, Telegram, webhook and more, by plan
Source codeAGPL-3.0, public repositoryClosed source

When UptimeRobot is the better pick

  • You have more than five URLs and no budget. Fifty free monitors at 5 minutes is the bigger free plan, and 5 minutes is enough to measure 99.9.
  • You want an SMS or a voice call when the budget starts burning. Logdash sends Telegram messages and webhooks, nothing else.
  • You already run thirty monitors there and they all report 99.9 fine. Moving buys a shorter interval, not a different number.
What does 99.9 uptime allow per day and per week?
1m 26.4s per day and 10m 4.8s per week, assuming the service should be up 24/7. That is 86.4 and 604.8 seconds.
What is 99.9 uptime per month?
43m 49.8s on an average 30.44-day month. Per calendar month it is 40m 19.2s in February, 43m 12s in a 30-day month and 44m 38.4s in a 31-day month.
What is 99.9 uptime per year?
8h 45m 57.6s over a 365.25-day year, or 8h 45m 36s over a 365-day year. A yearly target lets one long outage hide inside an otherwise clean year.
How is 99.9 availability downtime measured by a monitor?
By sampling. Logdash divides successful checks by all checks. At 5-minute checks a month holds 8,766 of them and 8 may fail; at 15 seconds it holds 175,320 and 175 may fail.

Point it at your own URL and watch it for real.