Время простоя сайта: формула, примеры и калькулятор аптайма

💻 IT и кодОбновлено: 13 июля 2026 г.5 мин чтения
Когда сайт лежит, вы теряете не только посетителей, но и деньги. Каждая минута простоя — это упущенная выручка и подорванное доверие. Разбираем, как точно рассчитать время простоя, какие формулы использовать и как автоматизировать расчёт с помощью онлайн-инструментов.
⚡ Коротко: главное
  • Формула времени простоя: T_total = T_down / T_total_period × 100%, где T_down — суммарное время недоступности.
  • Для SLA-метрик используют 9-ки доступности: 99,9% — ~8,7 часов простоя в год, 99,99% — ~52,6 минуты.
  • Средняя стоимость минуты простоя для e-commerce — от 5 000 до 50 000 ₽ в зависимости от трафика и среднего чека.
  • Учёт времени простоя обязателен для расчёта неустоек по договорам хостинга — штрафы до 10% от месячной оплаты за каждый час.
  • Онлайн-калькулятор упрощает расчёт: введите даты и время простоя — получите точную длительность в удобном формате.

Базовые понятия и формула времени простоя

Время простоя сайта (downtime) — интервал, в течение которого сайт недоступен для пользователей. Измеряется в секундах, минутах, часах или процентах от общего времени. Основная формула:

Доступность (%) = (T_общее - T_простоя) / T_общее × 100%

Где T_общее — полный период наблюдения (например, месяц: 30 × 24 × 3600 = 2 592 000 секунд), T_простоя — суммарное время неработоспособности.

Обратная формула для времени простоя:

T_простоя = T_общее × (100% - Доступность) / 100%
  • Если вам нужно вычислить, сколько времени сайт может быть недоступен при заданном SLA (например, 99,9%), подставьте значение в формулу.
  • Для годового периода: 365 дней = 8760 часов = 525 600 минут = 31 536 000 секунд.
  • Пример: SLA 99,95% означает T_простоя = 8760 × (100 - 99,95)/100 = 4,38 часа в год (~263 минуты).

Пошаговый пример расчёта простоя с реальными данными

Допустим, вы администрируете интернет-магазин. За последние 30 дней сайт был недоступен три раза:

  1. 7 июля 2026, 14:32 - 15:05 (33 минуты) — отключение электроэнергии в дата-центре.
  2. 9 июля 2026, 09:15 - 09:28 (13 минут) — плановая перезагрузка сервера.
  3. 10 июля 2026, 11:00 - 11:20 (20 минут) — DDoS-атака.

Суммарное время простоя: T_простоя = 33 + 13 + 20 = 66 минут = 0,046 дня. Период: 30 дней = 43200 минут.

Доступность = (43200 - 66) / 43200 × 100% = 99,847%

Это соответствует примерно 13,1 часам простоя в год (если такая динамика сохранится). Для e-commerce с выручкой 1 млн ₽ в день (~694 ₽/мин) потери за простой: 66 × 694 = 45 804 ₽. Используйте Калькулятор времени простоя сайта, чтобы автоматически суммировать интервалы и получать результат.

Типичные причины простоя и как их фиксировать

ПричинаТипичная длительностьМетод обнаружения
Проблемы с хостингом (перегрузка CPU)5-30 минМониторинг Load Average
Ошибки кода (Fatal error)до устраненияHTTP 500, логи PHP
DDoS-атакаот 10 мин до часовСкачки трафика, снижение скорости
Плановые работы (без предупреждения)по соглашениюНет ответа от сервера
Проблемы с DNS15-60 мин (TTL)dig +trace не даёт IP

Для точного учёта времени простоя используйте инструменты мониторинга (Nagios, Zabbix, UptimeRobot) с записью логов в секундах. Если логов нет — помогут данные счётчиков аналитики (резкий провал сессий). При расчёте вручную удобно использовать Конвертер времени для перевода минут в часы и наоборот.

Расчёт доступности для SLA: таблица соответствия

ДоступностьПростой в деньПростой в месяц (30 дн)Простой в год
99,9%86,4 сек43,2 мин8,76 ч
99,95%43,2 сек21,6 мин4,38 ч
99,99%8,64 сек4,32 мин52,56 мин
99,999%0,864 сек25,9 сек5,26 мин

Если ваш провайдер гарантирует 99,9%, а реальный простой за месяц составил 2 часа, неустойка рассчитывается как разница между фактической и гарантированной доступностью. Формула неустойки может быть прописана в договоре, например: штраф = (факт. простой - допуст. простой) × часовая стоимость хостинга × коэффициент. Используйте Калькулятор времени для конвертации крупных интервалов.

Пошаговый алгоритм расчёта простоя
  1. 1
    Сбор данных о простоях

    Зафиксируйте все интервалы недоступности с точностью до секунды.

  2. 2
    Суммирование длительности

    Сложите все интервалы, исключив пересечения (перекрывающиеся считаются один раз).

  3. 3
    Определение периода

    Выберите календарный период: день, месяц, год — обычно совпадает с отчётным.

  4. 4
    Расчёт доступности

    Используйте формулу: (T_общее - T_простоя) / T_общее × 100%.

  5. 5
    Сравнение с SLA

    Сравните полученную доступность с гарантированной провайдером и рассчитайте неустойку.

Выполните эти шаги, чтобы точно рассчитать время простоя и доступность сайта.

Подводные камни при расчёте: что часто упускают

Не учитывайте плановые простои как downtime, если они согласованы и не превышают лимит по SLA — иначе рискуете необоснованно завысить процент недоступности.
  • Частичная недоступность — сайт работает, но медленно. Обычно не считается простоем, если только не оговорено в SLA (например, время ответа сервера > 5 сек).
  • Проблемы на стороне клиента (блокировка РКН, проблемы с провайдером) — не должны учитываться.
  • Округление: лучше округлять до сотых долей процента, но не менее 3 знаков после запятой для SLA 99,9%.
  • Разные часовые пояса: если вы в UTC+3, а хостинг в UTC, приводите все временные метки к одному поясу.

Автоматизация расчёта с помощью скрипта на Python

Для автоматического сбора и расчёта простоя удобно написать простой скрипт. Пример:

import datetime

downtimes = [
    (datetime.datetime(2026,7,7,14,32), datetime.datetime(2026,7,7,15,5)),
    (datetime.datetime(2026,7,9,9,15), datetime.datetime(2026,7,9,9,28)),
    (datetime.datetime(2026,7,10,11,0), datetime.datetime(2026,7,10,11,20))
]

total_down_sec = 0
for start, end in downtimes:
    total_down_sec += (end - start).total_seconds()

period_start = datetime.datetime(2026,7,1)
period_end = datetime.datetime(2026,7,31,23,59,59)
total_period_sec = (period_end - period_start).total_seconds()

availability = (total_period_sec - total_down_sec) / total_period_sec * 100
print(f"Total downtime: {total_down_sec // 60} min {total_down_sec % 60} sec")
print(f"Availability: {availability:.3f}%")

Вывод:

Total downtime: 66 min 0 sec
Availability: 99.847%

Для длительных интервалов и конвертации в удобный формат используйте Калькулятор времени сна — он умеет складывать периоды, просто введите как общую длительность.

Типовые ошибки и как их избежать

  1. Путаница между временем простоя в минутах и часами — всегда переводите всё в секунды, а затем в нужный формат.
  2. Игнорирование перекрывающихся интервалов простоя — если два сбоя пересекаются, их время не суммируется, а учитывается один раз.
  3. Неправильный выбор периода наблюдения — для SLA обычно используется календарный месяц или год.
  4. Отсутствие учёта простоев, вызванных действиями клиента (например, превышение лимитов тарифа) — они не входят в гарантированную доступность.
  5. Ошибки округления — не округляйте промежуточные результаты, только итоговый процент.

Регулярно проверяйте свои расчёты с помощью Калькулятора времени бега — он умеет работать с секундами и минутами, можно использовать для проверки суммы интервалов.

Когда обращаться к онлайн-калькулятору

Если вам нужно быстро посчитать простой без написания кода или если у вас несколько интервалов разной длины — используйте специализированный Калькулятор времени простоя сайта. Он позволяет:

  • Вводить даты и время начала/окончания каждого сбоя.
  • Автоматически суммировать длительности.
  • Рассчитывать доступность в процентах за заданный период.
  • Экспортировать результаты в отчёт.

Это особенно полезно для системных администраторов и владельцев бизнеса, которым нужно оперативно оценить убытки и подготовить претензию хостинг-провайдеру.

🧮 Посчитайте сами — инструменты по теме

🧭 Разделы по теме

Частые вопросы

Как рассчитать время простоя сайта за месяц?

Сложите все интервалы, когда сайт был недоступен (в минутах или секундах). Разделите на общее количество минут в месяце (30 × 1440 = 43200 мин) и умножьте на 100% — получите доступность. Вычтите из 100% — процент простоя.

Что значит 99,9% доступности?

Это означает, что сайт может быть недоступен не более 0,1% времени. За год это ~8,76 часа, за день — 86,4 секунды. Чаще всего встречается в базовых SLA хостинг-провайдеров.

Как правильно округлять процент доступности?

Округляйте до трёх знаков после запятой (например, 99,847%). Промежуточные вычисления не округляйте — используйте все знаки, чтобы избежать погрешности.

Влияет ли плановый простой на расчёт доступности?

Если плановый простой согласован и не превышает лимит, указанный в SLA, он обычно не считается нарушением. Однако в автоматических системах мониторинга его всё равно фиксируют как downtime — уточняйте в договоре.

Как конвертировать время простоя в разные единицы?

Используйте онлайн-конвертер времени. Вручную: 1 минута = 60 секунд, 1 час = 60 минут = 3600 секунд. Удобно перевести всё в секунды, затем в нужные единицы.

Что такое double downtime и как его избежать?

Double downtime — двойной учёт одного и того же сбоя, когда два разных инструмента мониторинга регистрируют его как два отдельных события. Чтобы избежать, используйте единую систему мониторинга и сопоставляйте временные метки, исключая пересечения.

Как рассчитать убытки от простоя сайта?

Определите среднюю выручку за минуту (например, дневная выручка / 1440). Умножьте на количество минут простоя. Для более точного расчёта учтите конверсию и средний чек. Онлайн-калькулятор времени простоя сайта может помочь оценить потери.

Стоит ли включать в простой время ответа сервера более 5 секунд?

Обычно да, если в SLA указан максимальный порог времени ответа. Медленная загрузка тоже считается недоступностью, если пользователь не может получить контент. Уточните критерии в договоре.

Источники и нормативные документы

  1. Uptime Robot — документация по мониторингу
  2. MDN Web Docs — HTTP-статусы и ошибки
  3. GitHub — примеры скриптов расчёта доступности

Ещё по теме «IT и код»