Новости проекта
Нагрузка на сервер: сколько процессорного времени съедают боты и сколько мы сэкономили
Хостинг ограничивает сайты за процессорное время, а не за число ботов. Теперь модуль меряет его сам, и на дашборде видно, сколько секунд CPU ушло на людей, сколько на роботов и сколько защита сэкономила.
Когда хостинг пишет «высокая нагрузка», он имеет в виду процессорное время: у Beget это CP, у других свои названия, но суть одна. Число ботов в журнале такому письму ничего не противопоставишь. Нужна та же величина, что видит хостинг. Теперь она у нас есть.
Что меряет модуль
Модуль запускается первой строкой сайта и с версии 1.4.0 дорабатывает последней: в конце каждого запроса он спрашивает у PHP, сколько процессорного времени, сколько времени ответа и сколько памяти ушло именно на этот запрос. Замер стоит доли миллисекунды. Отдельных запросов к нам нет: модуль копит замеры в локальном кэше и раз в минуту прикладывает сводку к обычному запросу за решением.
Замеры делятся по тому, что модуль ответил посетителю: страница человеку, проверка браузера или блокировка. Проверка и блокировка отдаются без сборки страницы, и разница в цене видна сразу.
Что показывает кабинет
На дашборде появилась карточка «Нагрузка на сервер»:
- процессорное время по часам или дням, отдельно люди, проверки и блокировки;
- средняя цена страницы для человека и средний ответ роботу;
- оценка «без защиты было бы»: каждый заблокированный или отправленный на проверку робот получил бы обычную страницу по средней цене человека; разница и есть сэкономленное время, в секундах и в процентах.
Та же цифра будет в еженедельном отчёте на почту: сколько минут CPU ушло на страницы людям и сколько минут защита сняла с сервера.
Зачем
Спор с хостингом закрывается одной картинкой: вот час до включения защиты, вот час после. И это честная цифра, а не проценты с потолка: она считается из тех же данных, по которым хостинг вводит ограничения.
Общую загрузку сервера мы намеренно не показываем. На виртуальном хостинге она отражает весь узел с сотнями чужих сайтов и только вводит в заблуждение. Процессорное время запросов вашего сайта считается точно всегда.
Что нужно сделать
Ничего. Модуль обновляется сам, карточка появится, как только придут первые
замеры. Если сбор замеров нужно выключить, в настройках модуля есть
параметр 'load_stats' => false.