Uptime сервера: что это, SLA 99.9% и как мерить | Глоссарий FREEHOSTING

uptime

Системное время работы
uptime — Uptime — время непрерывной работы сервера или сервиса с момента последней перезагрузки. В контексте хостинга — доля минут в месяце или году, когда сайт был доступен. Закрепляется в SLA провайдера в виде показателя «доступность 99,9%».

Определение простыми словами

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%, и достигается мульти-региональной архитектурой.