Ошибка 503 Service Temporarily Unavailable Печать

  • 0

Каждому аккаунту на сервере выделено определенное количество процессов-рабочих (воркеры Apache mpm-itk), обрабатывающих запросы пользователей. Запросы поступают на сервер и становятся в очередь. Легкие запросы обрабатываются быстро, а тяжёлые проблемные — медленно, тормозя продвижение очереди. Когда длина очереди достигает определенной величины, сервер перестает принимать новые запросы, возвращая ошибку 503 (Service Temporarily Unavailable, сервис временно недоступен).

Ниже наиболее распространенные причины возникновения длинной очереди, а так же пути решения этой проблемы:

1. Большое число запросов к веб-серверу:
- Загружаемый ресурс разбит/содержит ссылки на слишком больше число файлов (картинки, таблицы стилей JS-скрипты), которые подгружаются через отдельные запросы. Постарайтесь объединять ресурсы в один файл, где это возможно.
- На сайте установлен элемент, который периодически посылает на сервер AJAX-запросы (например, чат). Количество запросов зависит не только от числа посетителей, но и от их привычки открывать несколько вкладок в браузере.
- Использование элементов ресурсов или скриптов на чужих сайтах (ссылки на картинки, скрипты-информёры).
- DDoS-атаки.

2. Большое число "тяжёлых" или испорченных компонентов CMS.
Проверьте все компоненты и плагины вашей CMS, отключая их по очереди, и найдите самые тяжёлые или испорченные, при работе которых загрузка сайта замедляется. По возможности откажитесь от таких компонентов, либо поищите более быстрый аналог. Также деинсталируйте все ненужные компоненты, которые вы не используйте или использование которых необязательно.

3. Большое количество медленных запросов к MySQL.
Установите в движок кеширующие компоненты, которые могли бы сократить число SQL-запросов.
Оптимизируйте SQL-запросы.
Проиндексируйте таблицы БД по столбцам, которые используются в выборке
Если ничего не помогает, возможно, стоит сменить движок на более оптимальный.

4. Передача больших статичных файлов через PHP.
Большие статичные файлы лучше всего передавать напрямую, не используя для этого скрипты. На это есть две причины: во-первых, время работы скриптов ограничено, по его истечению передача файла прерывается; во-вторых, для передачи файла через PHP используется отдельный процесс-рабочий, а значит он перестаёт участвовать в механизме обработки запросов от пользователей.

5. Почтовая рассылка
Запуск скрипта почтовой рассылки лучше всего расположить в системном планировшик задач, управление которым находится в контрольной панели Плеск. А запуск его назначить на время наименьшей нагрузки на сервер (ночь по киевскому и московскому времени).


Помог ли вам данный ответ?

« Назад