Время простоя сайта: формула, примеры и калькулятор аптайма
- Формула времени простоя: 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% от месячной оплаты за каждый час.
- Онлайн-калькулятор упрощает расчёт: введите даты и время простоя — получите точную длительность в удобном формате.
- Базовые понятия и формула времени простоя
- Пошаговый пример расчёта простоя с реальными данными
- Типичные причины простоя и как их фиксировать
- Расчёт доступности для SLA: таблица соответствия
- Подводные камни при расчёте: что часто упускают
- Автоматизация расчёта с помощью скрипта на Python
- Типовые ошибки и как их избежать
- Когда обращаться к онлайн-калькулятору
Базовые понятия и формула времени простоя
Время простоя сайта (downtime) — интервал, в течение которого сайт недоступен для пользователей. Измеряется в секундах, минутах, часах или процентах от общего времени. Основная формула:
Где T_общее — полный период наблюдения (например, месяц: 30 × 24 × 3600 = 2 592 000 секунд), T_простоя — суммарное время неработоспособности.
Обратная формула для времени простоя:
- Если вам нужно вычислить, сколько времени сайт может быть недоступен при заданном SLA (например, 99,9%), подставьте значение в формулу.
- Для годового периода: 365 дней = 8760 часов = 525 600 минут = 31 536 000 секунд.
- Пример: SLA 99,95% означает T_простоя = 8760 × (100 - 99,95)/100 = 4,38 часа в год (~263 минуты).
Пошаговый пример расчёта простоя с реальными данными
Допустим, вы администрируете интернет-магазин. За последние 30 дней сайт был недоступен три раза:
- 7 июля 2026, 14:32 - 15:05 (33 минуты) — отключение электроэнергии в дата-центре.
- 9 июля 2026, 09:15 - 09:28 (13 минут) — плановая перезагрузка сервера.
- 10 июля 2026, 11:00 - 11:20 (20 минут) — DDoS-атака.
Суммарное время простоя: T_простоя = 33 + 13 + 20 = 66 минут = 0,046 дня. Период: 30 дней = 43200 минут.
Это соответствует примерно 13,1 часам простоя в год (если такая динамика сохранится). Для e-commerce с выручкой 1 млн ₽ в день (~694 ₽/мин) потери за простой: 66 × 694 = 45 804 ₽. Используйте Калькулятор времени простоя сайта, чтобы автоматически суммировать интервалы и получать результат.
Типичные причины простоя и как их фиксировать
| Причина | Типичная длительность | Метод обнаружения |
|---|---|---|
| Проблемы с хостингом (перегрузка CPU) | 5-30 мин | Мониторинг Load Average |
| Ошибки кода (Fatal error) | до устранения | HTTP 500, логи PHP |
| DDoS-атака | от 10 мин до часов | Скачки трафика, снижение скорости |
| Плановые работы (без предупреждения) | по соглашению | Нет ответа от сервера |
| Проблемы с DNS | 15-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Сбор данных о простоях
Зафиксируйте все интервалы недоступности с точностью до секунды.
- 2Суммирование длительности
Сложите все интервалы, исключив пересечения (перекрывающиеся считаются один раз).
- 3Определение периода
Выберите календарный период: день, месяц, год — обычно совпадает с отчётным.
- 4Расчёт доступности
Используйте формулу: (T_общее - T_простоя) / T_общее × 100%.
- 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%Для длительных интервалов и конвертации в удобный формат используйте Калькулятор времени сна — он умеет складывать периоды, просто введите как общую длительность.
Типовые ошибки и как их избежать
- Путаница между временем простоя в минутах и часами — всегда переводите всё в секунды, а затем в нужный формат.
- Игнорирование перекрывающихся интервалов простоя — если два сбоя пересекаются, их время не суммируется, а учитывается один раз.
- Неправильный выбор периода наблюдения — для SLA обычно используется календарный месяц или год.
- Отсутствие учёта простоев, вызванных действиями клиента (например, превышение лимитов тарифа) — они не входят в гарантированную доступность.
- Ошибки округления — не округляйте промежуточные результаты, только итоговый процент.
Регулярно проверяйте свои расчёты с помощью Калькулятора времени бега — он умеет работать с секундами и минутами, можно использовать для проверки суммы интервалов.
Когда обращаться к онлайн-калькулятору
Если вам нужно быстро посчитать простой без написания кода или если у вас несколько интервалов разной длины — используйте специализированный Калькулятор времени простоя сайта. Он позволяет:
- Вводить даты и время начала/окончания каждого сбоя.
- Автоматически суммировать длительности.
- Рассчитывать доступность в процентах за заданный период.
- Экспортировать результаты в отчёт.
Это особенно полезно для системных администраторов и владельцев бизнеса, которым нужно оперативно оценить убытки и подготовить претензию хостинг-провайдеру.
🧮 Посчитайте сами — инструменты по теме
🧭 Разделы по теме
Частые вопросы
Как рассчитать время простоя сайта за месяц?
Сложите все интервалы, когда сайт был недоступен (в минутах или секундах). Разделите на общее количество минут в месяце (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 указан максимальный порог времени ответа. Медленная загрузка тоже считается недоступностью, если пользователь не может получить контент. Уточните критерии в договоре.
Источники и нормативные документы
- Uptime Robot — документация по мониторингу
- MDN Web Docs — HTTP-статусы и ошибки
- GitHub — примеры скриптов расчёта доступности