2.4.3.7. Ошибка 508 Resource Limit Is Reached
Внимание!
Количество процессов считается для хостинг-аккаунта в целом, без разделения по сайтам. Поэтому, даже если причиной достижения лимита процессов является только один сайт, ошибка будет возникать на всех сайтах хостинг-аккаунта.Об ошибке
Ошибка 508 возникает из-за достижения лимита одновременно работающих процессов в рамках хостинг-аккаунта (Entry Process Limit). Информация о лимите доступна в официальной документации CloudLinux.
При обработке каждого запроса к динамическому контенту в хостинг-аккаунте создаётся новый отдельный процесс и счётчик процессов увеличивается. Когда процесс завершает свою работу, счётчик уменьшается. Максимальное количество одновременно работающих процессов ограничено. Если новые процессы создаются быстрее, чем завершаются старые, очередь процессов заполняется и достигается лимит максимального количества процессов. Когда лимит достигнут, сервер не может создавать новые процессы и возвращает ошибку 508 для всех процессов сверх лимита. Ошибка будет возвращаться до тех пор, пока очередь процессов не разгрузится и не появятся свободные слоты для новых процессов.
При возникновении ошибки 508 рекомендуется проанализировать логи доступа сайтов хостинг-аккаунта и попробовать определить, какие запросы могли запускать эти процессы. Часто ошибка сопровождается в логах ошибок сайтов записями вида «LVE enter: LVE(XXX) HANDLER(XXX) HOSTNAME(XXX) URL(XXX) TID(XXX) errno (7) Read more: https://www.hosting.xyz/wiki/hosting/errors/508/#MHL-E2BIG min_uid (XXX)».
Распространённые причины
- Нехватка ресурсов процессора и оперативной памяти. При нехватке свободных ресурсов хостинг-аккаунта процессы выполняются медленнее, что приводит к заполнению очереди и ошибке 508.
- Большое количество запросов к сайту. Например, из-за DDoS-атаки или HTTP-флуда (частой отправки запросов к одной и той же странице).
- Недостаточная оптимизация сайта. Скрипты сайта не успевают своевременно обрабатывать все поступающие запросы при увеличении их количества.
- Неоптимальная работа сайта с базой данных. Например, наличие медленных запросов, отсутствие индексов и др.
- Неправильная логика работы сайта. Например, скрипты сайта обращаются к ресурсам этого же сайта не напрямую, а по HTTP, тем самым порождая лишние запросы.
- Исходящие соединения. Если скрипты сайта в процессе своей работы обращаются к сторонним ресурсам, причиной может быть недоступность или долгий ответ этих ресурсов. Вместо того, чтобы быстро завершить свою работу, скрипту приходится ожидать ответ удалённого сервера, из-за чего процесс работает дольше обычного и при большом числе запросов очередь процессов может быстро заполниться.
Возможные решения
- В первую очередь проверьте диаграммы в разделе «Нагрузка на веб-сервер». Если замечена большая нагрузка, попытайтесь выяснить и устранить её причины (см. Анализ причин высокого потребления ресурсов).
- Проверьте логи доступа сайта и выясните, откуда поступает больше всего запросов. Если наибольшее количество запросов поступает с каких-то неизвестных сторонних IP-адресов, можно для них ограничить доступ к сайту.
- В случае DDoS-атаки можно включить защиту от флуда или подключить сервисы фильтрации трафика (защиты от DDoS).
- Рассмотрите возможность оптимизации скриптов и внутренней логики сайтов, чтобы формирование страниц требовало меньше ресурсов. Могут помочь смена версии PHP на более новую, подключение дополнительных услуг Memcache(d), Redis, OPcache, оптимизация структуры базы данных и запросов к ней, организация кеширования средствами самого сайта (установка плагинов кеширования).
- Активные процессы можно принудительно завершить. Это может помочь на некоторое время, хотя полностью проблему не решит, если не устранён источник появления множества длительно работающих процессов.
- Если самостоятельно определить причину и принять меры возможности нет, следует сообщить о проблеме разработчику сайта.
Также можно рассмотреть вариант перехода на один из тарифов бизнес-хостинга с большим значением Entry Process Limit.
Комментарии