Каждой учетной записи на сервере выделено определенное количество рабочих процессов (рабочих Apache MPM-ITK), которые обрабатывают запросы пользователей. Запросы приходят на сервер и ставятся в очередь. Легкие запросы обрабатываются быстро, а серьезные проблемные запросы обрабатываются медленно, что замедляет ход очереди. Когда длина очереди достигает определенного значения, сервер перестает принимать новые запросы и возвращает ошибку 503 (служба временно недоступна, служба временно недоступна).
Ниже приведены наиболее частые причины длинных очередей, а также способы решения этой проблемы:
1. Большое количество запросов к веб-серверу:
- Загруженный ресурс содержит ссылки на огромное количество файлов (изображения, таблицы стилей, JS-скрипты), которые загружаются поврежденными/ отдельными запросами. Постарайтесь максимально объединить ресурсы в один файл.
-На сайте установлен элемент, который периодически отправляет запросы ajax на сервер (например, чат). Количество запросов зависит не только от количества посетителей, но и от привычки открывать несколько вкладок в браузере.
- Использование исходных элементов или скриптов на чужих сайтах (ссылки на картинки, скрипты информатора).
- DDoS-атаки.
2. Большое количество" тяжелых " или поврежденных компонентов CMS.
Проверьте все компоненты и плагины CMS, отключите их по одному и найдите наиболее серьезные или поврежденные, которые могут замедлить загрузку сайта. По возможности выбросьте такие компоненты или поищите более быстрый аналог. Кроме того, удалите все ненужные компоненты, которые вы не используете или не должны использовать.
3. Количество медленных запросов к MySQL.
Установите в движок компоненты кэширования, которые уменьшат количество SQL-запросов.
Оптимизация SQL-запросов.
Индексировать таблицы базы данных по столбцам, используемым в выборе
Если все остальное не помогло, стоит поменять двигатель на более оптимальный.
4. Передача больших статических файлов через PHP.
Большие статические файлы передаются напрямую без использования скриптов. Для этого есть две причины: Во-первых, срок службы скриптов ограничен, и по его истечении передача файлов прекращается; во-вторых, для передачи файла через PHP используется отдельный рабочий процесс, то есть он перестает участвовать в механизме обработки запросов пользователей.
5. Список рассылки
Лучше всего запустить почтовый сценарий в планировщике управляемых системных задач на панели управления Plesk. И планируйте запускать его в то время, когда сервер наименее загружен (ночь по Киевскому и московскому времени).