Gurevich.intercon.ru

Семейный сайт Гуревичей

Apache: кто грузит сервер

2013-08-09 от San

Предисловие

Однажды обнаружил высокую нагрузку на одном из серверов. Load Average подскакивал периодически до 23. Команда top показала, что нагрузку создают процессы апача (httpd). На сервере большое число сайтов, причем разных владельцев, логи сайтов ведутся для каждого сайта отдельно, не так просто сразу определить какой сайт грузит. Как в результате оказалось на несколько сайтов шла распределенная атака — пытались брутфорсом подбирать пароли к админкам.  Когда это выяснилось, то доступ к админкам ограничили и нагрузка сразу же упала, сервер пришел в себя и стал дальше нормально работать.

Как искать проблему

Первым делом, чтоб в списке процессов было видно какой из процессов апача к какому сайту относится и к какому месту сайта обращается, нужно к апачу поставить модуль mod_proctitle

Настройки модуль не требует,  просто нужно, чтоб он был установлен и подключен в конфиге апача. После подключения модуля команда ps выдает достаточную информацию, чтоб идентифицировать каждый процесс.

Далее используем следующую команду

ps -o user,pid,%cpu,args -ax -r -U www | grep httpd | grep -v grep

Она показывает все процессы апача в данный момент, отсортированные по загрузке CPU и благодаря mod_proctitle видно куда обращаются самые прожорливые процессы.

 

Опубликовано Пятница, 09-08-2013 в 12:48 в рубрики Компьютеры и сети. Вы можете оставить отслеживать комментарии к записи при помощи RSS 2.0 ленты. Комментарии и пинг запрещены.

Комментариев нет

No comments yet.

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.