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

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

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

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

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

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

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

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

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

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