Сайт открывается медленно, иногда выдаёт ошибки, а в панели хостинга процессор занят на 100%. Причины делятся на две большие группы. Первая: настоящая нагрузка от посетителей, ботов или тяжёлого кода. Вторая: на сервере работает чужая программа, чаще всего майнер, который на ваших ресурсах добывает криптовалюту для злоумышленника. Разберём, как отличить одно от другого.
Как понять, что сервер перегружен
- страницы открываются медленно или через раз;
- появляются ошибки 502, 503 и 504. О них подробно в статье «Ошибка 502 Bad Gateway»;
- хостинг присылает письма о превышении нагрузки или ограничивает сайт;
- в панели хостинга или на графиках мониторинга процессор занят почти полностью.
Обычная нагрузка или майнер
| Признак | Обычная нагрузка | Майнер |
|---|---|---|
| Когда | Растёт днём, падает ночью, скачет после рекламы | Ровно 100% круглые сутки, даже ночью |
| Какой процесс | Программы сайта: веб-сервер, PHP, база данных | Незнакомое имя или имя, похожее на системное |
| Где лежит программа | В обычных системных папках | Во временных папках, в скрытых папках, в каталоге сайта |
| После перезагрузки | Нагрузка возвращается вместе с посетителями | Через несколько минут снова 100% |
| Сеть | Ответы посетителям | Постоянные соединения с незнакомыми серверами |
Где искать виновника
Если у вас свой сервер
- Посмотрите, какой процесс занимает процессор. Это видно в диспетчере процессов сервера, например в программе top или htop. Обратите внимание на имя процесса и на пользователя, от которого он запущен.
- Найдите, где лежит файл программы. Майнеры любят временные и скрытые папки.
- Проверьте задачи по расписанию у всех пользователей и автозапуск служб. Именно они возвращают майнер после остановки.
- Посмотрите журнал входов на сервер. Незнакомые адреса и успешные входы в странное время показывают, как зашли.
Если сайт на обычном хостинге
- Откройте статистику нагрузки в панели хостинга: обычно там видно, какие скрипты нагружают сервер.
- Посмотрите журнал посещений. Тысячи обращений к странице входа или к одному адресу говорят о переборе паролей или ботах.
- Попросите поддержку хостинга показать, какие процессы вашего аккаунта больше всего нагружают сервер.
Напишите, что показывает панель хостинга. Найдём виновника и назовём цену до начала работ.
Частые причины, если это не майнер
- Боты и парсеры. Собирают цены и каталоги, создают нагрузку, сопоставимую с тысячами посетителей.
- Перебор паролей к админке. Каждая попытка входа нагружает сервер.
- Тяжёлые плагины и модули, особенно для статистики, поиска и фильтров.
- Нет кэширования. Каждую страницу сервер собирает заново для каждого посетителя.
- Задачи по расписанию, которые запускаются слишком часто или зависают.
- Разросшаяся база данных и медленные запросы к ней.
- Нехватка памяти. Сервер начинает использовать диск вместо памяти и резко замедляется.
Как вернуть сервер в норму
- Убрать майнер вместе с автозапуском и закрыть дорогу, по которой он пришёл.
- Сменить все пароли и ключи, а вход на сервер перевести на ключи вместо паролей.
- Закрыть лишние входы на сервер и оставить только нужные.
- Ограничить ботов и перебор паролей.
- Включить кэширование и ускорить тяжёлые страницы.
- Настроить мониторинг, который сообщит о подозрительной нагрузке в тот же день.
Мы находим, что грузит сервер, убираем причину и проверяем, что она не вернётся. А на сопровождении следим за сервером постоянно: о проблеме вы узнаёте от нас, а не от клиентов.
Частые вопросы
Хостинг предлагает перейти на дорогой тариф из-за нагрузки. Это нужно?
Не всегда. Сначала стоит выяснить, откуда нагрузка. Часто её создают боты, перебор паролей или один тяжёлый плагин, и после исправления сайт спокойно работает на прежнем тарифе. Переплачивать за ресурсы, которые съедает майнер или бот, нет смысла.
Почему майнер возвращается после перезагрузки?
Потому что вместе с ним на сервере остался автозапуск: задача по расписанию, служба или запасной вход на сайте. Перезагрузка останавливает программу, но не убирает то, что её запускает.
Может ли майнер украсть данные?
Сам майнер обычно только тратит ресурсы. Но раз кто-то смог запустить программу на вашем сервере, у него был доступ и к данным. Поэтому после удаления майнера нужно сменить все пароли и ключи и проверить, не утекло ли что-то ещё.
Сколько стоит найти и убрать причину нагрузки?
Зависит от того, что нашлось. Исправление ошибок и лечение у нас стоит от 3 000 ₽. Оцениваем бесплатно и называем цену до начала работ.