Apache обрабатывает на 100% без трафика - как я могу видеть, что происходит?

У меня есть сервер, на котором работает apache, и я вижу, что случайные процессы apache доходят до 100% и остаются там. Сегодня с двумя процессами на 100% я отключил внешний доступ к серверу (чтобы предотвратить дальнейшие запросы к apache). Через пять минут на сервер не поступают никакие запросы, но оба процесса по-прежнему работают на 100%.

Я бегал lsof на каждом процессе, и они дают мне около 9000 строк вывода (что может быть греческим для меня). Никакие другие процессы не ведут себя странно, не ожидают и т. Д.

Моя база данных находится на втором сервере. С помощью mytop показывает два MySQL-соединения, активных с сервера apache, оба с состоянием "сна". Я убил один из этих потоков MySQL, и ни один из процессов на сервере Apache не изменился.

Этот сервер Apache является одним из двух, кто стоит за простым балансировщиком нагрузки. Я не знаю, может ли это быть связано.

Как я могу подтвердить, что проблема apache связана с тем, что я вижу на сервере базы данных? И может ли это быть результатом хитрого вызова SQL или чего-то еще?

Изменить: Нашел проблему. Это была проблема кода с Magento. Функция изменения размера изображения не смогла открыть изображение, потому что расширение было неправильным (это был BMP с расширением jpg). Обработчик ошибок для этого снова вызывал изменение размера и т. Д. - цикл. Нашел это, сделав strace на неправильном поведении apache.

2 ответа

Решение

Нашел проблему. Это была проблема кода с Magento. Функция изменения размера изображения не смогла открыть изображение, потому что расширение было неправильным (это был BMP с расширением jpg). Обработчик ошибок для этого снова вызывал изменение размера и т. Д. - цикл. Обнаружил это, выполнив strace в процессе неправильной работы apache.

Возможно, ваш Apache устарел и уязвим к недавней уязвимости диапазона запросов, и кто-то или что-то сейчас использует его?

Другие вопросы по тегам