Длинный опрос с Ajax и PHP - Apache зависает

Мы пытаемся внедрить сервис уведомлений на основе длинных опросов в ERP нашей компании. Аналогично уведомлениям в Facebook.

Используемые технологии:

PHP сtimeout установить на 60 секунд и 1 секундуsleep в каждой итерации цикла.JQuery для обработки AJAX.Apache как веб-сервер.

После почти месяца кодирования мы пошли в производство. Через несколько минут после развертывания нам пришлось все откатить. Оказалось, что наш сервер (8 ядер) не может обрабатывать длинные запросы от 20 сотрудников, используя ~ 5 вкладок браузера каждая. Например: пользователь открыл 3 вкладки с нашей ERP, с одним длинным опросом AJAX на каждой вкладке. Открытие 4-й вкладки невозможно - она зависает до тех пор, пока один из предыдущих 3 не будет убит (и, следовательно, AJAX остановлен).

«Apache ограничения», подумали мы. Итак, мы пошли гуглить. Я нашел некоторую информацию о модулях и конфигах Apache MPM, поэтому попробовал. Наш сервер используетprefork МПМ, аapachectl -l показал нам. Поэтому я изменил несколько строк в конфигурации, чтобы они выглядели примерно так:

<IfModule mpm_prefork_module>
    StartServers          1
    MinSpareServers       16
    MaxSpareServers      32
    ServerLimit          50%
    MaxClients          150
    MaxClients           50%
    MaxRequestsPerChild   0
</IfModule>

Самое смешное, что он работает на моей локальной машине с похожим конфигом. На сервере это выглядит как Apache игнорирует конфигурацию, потому что сMinSpareServers установите значение 16, после перезагрузки оно будет равно 8. Не знаю, что делать.

Ответы на вопрос(2)

Ваш ответ на вопрос