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.
Коментарі