Определение простыми словами
Uptime отвечает на простой вопрос: «Сколько мой сайт реально жив?». Сервер может работать 60 дней без перезагрузки, но если в эти дни падал nginx или БД — пользователю всё равно показывалась ошибка. Поэтому uptime измеряют двумя способами: системный (через команду uptime в консоли) и сервисный (через внешний мониторинг).
Для бизнеса важна цифра в SLA: 99,9% — это 8 часов простоя в год, 99,99% — 52 минуты, 99,999% — 5 минут. Чтобы держать высокий uptime, сайт балансируют между несколькими нодами и используют health-чеки в nginx или Cloudflare.
Сравнение
| Уровень SLA | Простой в год | Простой в месяц | Кому нужен |
|---|---|---|---|
| 99% («два девятки») | 3,65 дня | 7,2 часа | Личный блог, MVP |
| 99,9% («три девятки») | 8,76 часа | 43 минуты | Корпоративный сайт, малый магазин |
| 99,95% | 4,38 часа | 21 минута | Средний eCommerce |
| 99,99% («четыре девятки») | 52 минуты | 4,3 минуты | API, банковские сервисы |
| 99,999% | 5 минут | 26 секунд | Биржи, телеком |
Кейсы использования
- Выбор хостинга — провайдер обязан указывать uptime SLA и компенсацию (часто +1 день за каждый час сверх лимита).
- Мониторинг прод-сервиса — UptimeRobot, Better Stack, Statuscake пингуют сайт каждую минуту с 5–10 локаций.
- Подсчёт потерь — для магазина с оборотом 100 тыс. ₽ в день каждые 9 часов простоя стоят ~37 тыс. ₽.
- Отчёт перед клиентом — публичная статус-страница вроде Atlassian Statuspage с историей инцидентов.
- Негативный сценарий: смотреть только на системный uptime VPS (`uptime` в консоли) — показывает 99,99%, а сайт лежал час из-за падения PHP-FPM. Замер всегда нужен снаружи.
Технические детали
# Системный uptime сервера
uptime
# 14:32:01 up 47 days, 3:12, 2 users, load average: 0.42, 0.51, 0.49
# Дата последнего ребута
who -b
# или
last reboot | head -5
# Аптайм процесса (например, nginx)
ps -o etime= -p $(pgrep -f "nginx: master")
# Внешний пинг-чек: cron каждую минуту, лог в файл
* * * * * curl -sw "%{http_code} %{time_total}n" -o /dev/null
https://example.com >> /var/log/uptime.log
# Подсчёт доступности за месяц (200/всего × 100)
awk '{total++; if($1==200) ok++} END {printf "%.4f%%n", ok/total*100}'
/var/log/uptime.log
🔥 Где это применяется
Частые вопросы
Чем uptime отличается от availability?
Uptime — фактическое время работы. Availability — отношение uptime к общему времени за период. Хостеры в SLA пишут именно availability: «99,9% за месяц».
Что входит в простой по SLA?
Обычно только незапланированные сбои инфраструктуры провайдера. Плановые работы по регламенту, форс-мажор и проблемы на стороне клиента (ошибки в коде, DDoS) не учитываются.
Можно ли получить 100% uptime?
На бумаге обещают только маркетологи. Физически любой сервис требует обновлений и зависит от сети. Реалистичный максимум — 99,999%, и достигается мульти-региональной архитектурой.