Чем занят Apache 2?

1691
Xiè Jìléi

Я использую Apache 2.2.17 в Ubuntu - Apache, кажется, занимает 100% процессорного времени. Как я могу узнать, чем занят Apache, чтобы вызвать столь высокую загрузку процессора?

Должен ли я использовать некоторые инструменты трассировки стека? Или, может быть, есть некоторые плагины Apache, которые могут сбросить его внутреннее состояние?

3

1 ответ на вопрос

2
Randolf Richardson

Проверьте журнал доступа и файлы журнала ошибок (местоположения определены в вашем файле "httpd.conf") для большой активности (самые новые записи находятся в конце файла - используйте "tail -f access.log", чтобы посмотреть его вживую). ).

Если в файлах журналов нет активности, возможно, это какой-то код, который застрял в бесконечном цикле. Перезапуск Apache HTTPd исправит это временно, но вы определенно захотите просмотреть пользовательский код (используете ли вы mod_perl2, CGI Perl, PHP или что-то еще?), Особенно код, который был изменен / добавлен после того, как вы считаете, что этот симптом начал появляться ,

Модуль «server-status» (который должен быть включен в сборку по умолчанию) также может предоставить некоторую информацию.

Если перезапуск снова приводит к 100% активности, возможно, у вас есть код, загружаемый с Apache HTTPd, который вызывает проблему, или один из модулей.

Вы делаете что-нибудь сложное с конфигурацией? Используете ли вы mod_perl2, CGI Perl, PHP или что-то еще? Какую версию Apache HTTPd вы используете? На какой операционной системе вы ее используете (я предположил Unix или Linux, так как эти операционные системы лучше подходят для веб-серверов и, как кажется, выбирают большинство людей)?

В файлах журналов много действий, но продолжительность не указана, поэтому я не могу определить, какая страница вызвала проблему. И да, я интенсивно использую mod_perl, mod_rewrite, mod_python и т. Д. `Server-status` очень полезен, но я не смог получить 10 наиболее трудоемких URL-адресов на странице состояния, но это очень полезно. Xiè Jìléi 13 лет назад 1
Я большой поклонник mod_perl2, и я всегда рад встретиться с другими разработчиками ModPerl (у нас не очень много проблем, поэтому мы, как правило, довольно тихое сообщество - вас может заинтересовать http: / /perl.apache.org/maillist/modperl.html). Журналы не показывают, сколько времени занял процесс, но они помогут вам сузить круг потенциальных преступников. Можете ли вы определить, когда увеличивается загрузка ЦП на 100%? Если это так, то вы можете легко посмотреть, когда это начнется (если это произойдет немедленно, это может быть модуль, включая пользовательский модуль mod_perl2, во время загрузки). Randolf Richardson 13 лет назад 1