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

определение статуса сервера из apache2 в MaxClients

Я пытаюсь отладить, почему наш сервер приложений блокирует все свои дочерние элементы apache и перестает обслуживать запросы. Это серверы приложений mod_perl.

Проблема в том, что для определения текущих запросов вам нужно сделать http-запрос, чтобы узнать статус сервера (используя mod_status).

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

Это не совсем то, что вы ищете, но вы можете перезапустить Apache, сценарий будет получать статус каждые (N секунд / минут), пока он не выйдет из строя, а затем посмотреть самую последнюю?

С тех пор я узнал, что один из возможных путей - остановить входящий трафик на этот веб-сайт (правило iptables на локальном поле было бы достаточно простым), затем получить список pid дочерних элементов apache и отправить HUP паре детей, затем сделайте localhost server-status (так как теперь у вас есть несколько освобожденных детей для обслуживания запросов).