URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 6239
[ Назад ]

Исходное сообщение
"Httpd стал жутко жрать ресурсы, помогите!"

Отправлено Trex , 04-Мрт-09 12:47 
Не могу понять, что случилось, httpd (стоит аппач и nginx в качестве прокси)
стал дико жрать ресурсы:

Processing config file: /usr/local/apache1.3.41/conf/vhost/winner.2yd.ru
/usr/local/apache1.3.41/bin/apachectl start: httpd started
ns1# top
last pid:  1576;  load averages: 86.83, 50.98, 23.01                                           up 0+00:05:10  12:44:53
405 processes: 100 running, 261 sleeping, 44 zombie
CPU states: 85.1% user,  0.0% nice, 14.9% system,  0.0% interrupt,  0.0% idle
Mem: 731M Active, 102M Inact, 169M Wired, 580K Cache, 112M Buf, 999M Free
Swap: 4096M Total, 4096M Free

  PID USERNAME  THR PRI NICE   SIZE    RES STATE  C   TIME   WCPU COMMAND
1525 nobody      1 101    0 16360K 11728K RUN    0   0:01  2.09% httpd
1429 nobody      1 102    0 16360K 11728K RUN    1   0:01  2.09% httpd
1493 nobody      1 100    0 16360K 11728K RUN    1   0:01  1.99% httpd
1419 nobody      1 102    0 16360K 11832K RUN    1   0:01  1.99% httpd
1519 nobody      1 100    0 16360K 11680K RUN    1   0:01  1.94% httpd
1494 nobody      1 100    0 16360K 12184K RUN    1   0:01  1.94% httpd
1531 nobody      1 102    0 16360K 11724K RUN    0   0:01  1.79% httpd


как-то можно посмотреть, что именно так жрет их?


Содержание

Сообщения в этом обсуждении
"Httpd стал жутко жрать ресурсы, помогите!"
Отправлено angra , 04-Мрт-09 16:10 
access.log позволит увидет какие запросы были вообще.
mod_status позволяет узнать чем апач занят в данный момент.
netstat -apn --inet позволит быстро посмотреть откуда идут соединения и в каком они состоянии

"Httpd стал жутко жрать ресурсы, помогите!"
Отправлено Trex , 05-Мрт-09 01:53 
>access.log позволит увидет какие запросы были вообще.
>mod_status позволяет узнать чем апач занят в данный момент.
>netstat -apn --inet позволит быстро посмотреть откуда идут соединения и в каком
>они состоянии

netstat с такими флагами нет (freebsd)
про апач: проблема не в количестве процессов, а в том, что каждый жрет дофига и висит в онлайне, а не уходит в слип

last pid:  6991;  load averages:  5.76,  9.43,  8.81                                       up 0+01:07:05  23:31:20
181 processes: 11 running, 168 sleeping, 2 zombie
CPU states: 57.0% user,  0.0% nice, 41.4% system,  0.4% interrupt,  1.3% idle
Mem: 457M Active, 391M Inact, 190M Wired, 12M Cache, 112M Buf, 951M Free
Swap: 4096M Total, 4096M Free

  PID USERNAME  THR PRI NICE   SIZE    RES STATE  C   TIME   WCPU COMMAND
  913 mysql      54  96    0   120M 60468K umtxn  0  40:15  6.79% mysqld
6972 nobody      1  98    0 17384K 12944K select 1   0:00  2.81% httpd
6991 nobody      1   4    0 14312K  9604K sbwait 1   0:00  2.00% httpd
6967 nobody      1  97    0 17384K 12896K select 0   0:00  1.11% httpd
6989 nobody      1  96    0 16360K 11680K select 0   0:00  1.05% httpd
6974 nobody      1  96    0 16360K 11868K select 1   0:00  0.71% httpd
6956 nobody      1   4    0 18536K 13652K sbwait 1   0:00  0.59% httpd
6946 nobody      1   4    0 18408K 14312K sbwait 1   0:00  0.43% httpd
6918 nobody      1   4    0 18408K 14416K sbwait 1   0:01  0.40% httpd
6911 nobody      1   4    0 18408K 14324K sbwait 1   0:00  0.40% httpd
6942 nobody      1   4    0 18408K 14400K sbwait 0   0:01  0.37% httpd
6902 nobody      1   4    0 18408K 14416K sbwait 1   0:01  0.35% httpd
6984 nobody      1   4    0 16360K 11880K sbwait 0   0:00  0.33% httpd
6819 nobody      1   4    0 18408K 14384K sbwait 0   0:01  0.29% httpd
6971 nobody      1  96    0 16360K 11696K select 1   0:00  0.29% httpd
6966 nobody      1  96    0 16360K 11700K select 1   0:00  0.27% httpd
6830 nobody      1   4    0 18408K 14388K sbwait 0   0:01  0.25% httpd
6949 nobody      1   4    0 18408K 14376K sbwait 0   0:00  0.24% httpd
6920 nobody      1   4    0 16360K 11976K sbwait 0   0:01  0.10% httpd
6947 nobody      1   4    0 16360K 11748K sbwait 0   0:00  0.05% httpd
6932 nobody      1  96    0 16360K 11812K select 0   0:00  0.05% httpd
6904 nobody      1   4    0 16360K 11904K sbwait 1   0:01  0.05% httpd
6917 nobody      1  96    0 16360K 11916K select 0   0:01  0.05% httpd
  825 nobody      1   4    0  5256K  3832K kqread 0   2:01  0.00% memcached

как это побороть? (есть подозрение, что один человек так атакует и вешает серв)


"Httpd стал жутко жрать ресурсы, помогите!"
Отправлено Trex , 05-Мрт-09 10:52 
существуют ли вообще какие-то методы автоматизации защиты для freebsd?

"Httpd стал жутко жрать ресурсы, помогите!"
Отправлено Nas_tradamus , 05-Мрт-09 12:42 
Попробуйте прикрутить mod_status к Apache (вроде так называется) и посмотреть какие скрипты жрут ресурсы.

У меня сейчас такая система: если Nagios начинает паниковать из-за http, запускается обработчик (nagios handler), который делает дамп вывода /server-status в файл с помощью wget.


"Httpd стал жутко жрать ресурсы, помогите!"
Отправлено Nas_tradamus , 05-Мрт-09 14:27 
Кстати, точно такая же ситуация у меня была из-за скрипта download.php, который раздавал файлы средствами php и не заботился об экономии памяти. Вообще, раздавать файлы средствами php - не очень хорошая идея, особенно если не знаешь как это сделать грамотно с точки зрения экономии ресурсов.

"Httpd стал жутко жрать ресурсы, помогите!"
Отправлено Trex , 05-Мрт-09 16:19 
там нет никаких раздач