Назад | Перейти на главную страницу

Задержка сервера elb / apache

Я запускаю Apache / 2.4.7 на m4 .larges в AWS за ELB. Подавляющая часть моего трафика - это простые разовые запросы от наивных клиентов, а не веб-страниц. Конфигурация устарела и проверена временем, но две недели назад я перенес развертывание на VPC без существенных изменений конфигурации Apache, конфигурации ELB или самого приложения.

С тех пор у меня возникло несколько проблем на уровне Apache и ELB.

1) Очень циклические всплески задержки - иногда доходящие до того, что ELB удаляет «нездоровые хосты». Графики задержки ELB обычно составляют около ~ 20 мс, но могут увеличиваться до 5 или более секунд в течение одной или двух минут. Отображаются длина очереди всплесков и 504 секунды.

2) На каждом сервере есть процесс мониторинга, который каждую минуту запрашивает страницу состояния сервера (она доступна только локальному хосту); примерно каждые пятнадцать минут тайм-аут этого простого запроса для страницы состояния сервера истекал (тайм-аут чтения 0,5 секунды, но этого более чем достаточно для такого простого запроса).

3) Табло заполняется живыми и пишет очень быстро. Пример табло во время одного из указанных выше тайм-аутов:

400 requests currently being processed, 0 idle workers

KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKWKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKWKKKKKKKKKKKKKKKKKKKKKKKKKWKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKK

4) Котики также испытывают всплески в ВЫПОЛНЯЕМЫХ потоках, которые распространяются на весь уровень базы данных.

Хотя он имеет наименьшее влияние из всех, (2), возможно, меня больше всего беспокоит - кажется безумием, что Apache должен попасть в ситуацию, когда он даже не может обработать запрос своего собственного статуса, который даже не входит собственно приложение.

При всем этом оборудование относительно не нагружается - ЦП редко превышает 50% на веб-серверах. Это могло бы предположить, что это проблема конфигурации, связанная с потоками, но конфигурация осталась в основном постоянной, оставляя меня в недоумении.

Соответствующая конфигурация:

У ELB (где завершается SSL) время простоя составляет 60 секунд.

Каждый Apache настроен более или менее следующим образом:

Timeout 600
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 60

Я использую модуль mpm_worker с:

StartServers             2
MinSpareThreads      100
MaxSpareThreads      300
ThreadLimit          64
ThreadsPerChild      50
MaxRequestWorkers     400
MaxConnectionsPerChild   0

Сервлеты tomcat пересылаются через AJP, где каждый из них прослушивает 300 потоков, дополненных подключениями максимум 300 дБ.

Что в этой настройке является причиной моих проблем?