Всем привет! у меня стоит второй апач, nginx как фронт для картинок... периодически повтоярется вот такая картина что делать ума не приложу:Total accesses: 240 - Total Traffic: 6.9 MB
CPU Usage: u2.32031 s.796875 cu0 cs0 - 5.03% CPU load
3.87 requests/sec - 114.0 kB/second - 29.4 kB/request
85 requests currently being processed, 0 idle workers
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWWW...........................................
все процессы висят в состоянии W - и достучаться до сервера анрыл просто...чего делать? кто сталкивался, как боролся?
:)
конфиг апача:
Include /apache/include/httpd-info.conf
Include /apache/include/virtual.conf
Include /apache/include/mod_rpaf.conf
#Include /apache/conf/include/mod_security.conf
#ServerSignature Off
ServerTokens Prod
#Timeout 1800
Timeout 18
MaxClients 85
StartServers 10
MaxSpareServers 32
MinSpareServers 8
MaxRequestsPerChild 20
##SendBufferSize 2048
#MaxKeepAliveRequests 128
#MaxRequestsPerChild 128
#KeepAliveTimeout 2<IfModule worker.c>
ServerLimit 900
/apache/apache20/conf/httpd.conf: 214 строк, 4786 символов.
topnews# apachectl -k restart
topnews# vi /apache/apache20/conf/httpd.conf
topnews# cat /apache/apache20/conf/httpd.conf
Include /apache/include/httpd-info.conf
Include /apache/include/virtual.conf
Include /apache/include/mod_rpaf.conf
Include /apache/conf/include/mod_evasive20.conf
Include /apache/conf/include/mod_security.conf
ServerSignature Off
ServerTokens Prod
#Timeout 1800
Timeout 18
MaxClients 85
StartServers 10
MaxSpareServers 32
MinSpareServers 8
MaxRequestsPerChild 20
##SendBufferSize 2048
#MaxKeepAliveRequests 128
#MaxRequestsPerChild 128
#KeepAliveTimeout 2<IfModule worker.c>
ServerLimit 900
StartServers 10
MaxClients 50
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 32
MaxRequestsPerChild 100
</IfModule><IfModule perchild.c>
NumServers 10
StartThreads 20
MinSpareThreads 20
MaxSpareThreads 40
MaxThreadsPerChild 50
MaxRequestsPerChild 50
</IfModule>
HostnameLookups off
RewriteEngine On
AddType application/x-httpd-php .php
AddHandler cgi-script .cgi .pl#LimitRequestBody 0
TraceEnable off
RewriteEngine On
RewriteCond %{REQUEST_METHOD} ^TRACE
RewriteRule .* - [F]
LoadModule php4_module modules/libphp4.so
LoadModule security_module modules/mod_security.so
LoadModule rpaf_module modules/mod_rpaf-2.0.so
ServerRoot "/apache/apache20"<IfModule !mpm_netware.c>
<IfModule !perchild.c>
ScoreBoardFile logs/apache_runtime_status
</IfModule>
</IfModule>
<IfModule !mpm_netware.c>
PidFile logs/httpd.pid
</IfModule>
KeepAlive Off#<IfModule worker.c>
#StartServers 2
#MaxClients 150
#MinSpareThreads 25
#MaxSpareThreads 75
#ThreadsPerChild 25
#MaxRequestsPerChild 0
#</IfModule>
Listen 80<IfModule !mpm_winnt.c>
<IfModule !mpm_netware.c>
User www
Group www
</IfModule>
</IfModule>ServerAdmin noc@ia.ru
UseCanonicalName Off
DocumentRoot "/apache/htdocs"
<Directory />
Options FollowSymLinks
AllowOverride all
</Directory>DirectoryIndex index.php index.htm index.html
AccessFileName .htaccess
<FilesMatch "^\.ht">
Order allow,deny
Deny from all
</FilesMatch>TypesConfig conf/mime.types
DefaultType text/plain<IfModule mod_mime_magic.c>
MIMEMagicFile conf/magic
</IfModule>EnableMMAP On
EnableSendfile OnErrorLog logs/error_log
LogLevel infoLogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
CustomLog logs/access_log combined
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" flogAddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip
AddIconByType (TXT,/icons/text.gif) text/*
AddIconByType (IMG,/icons/image2.gif) image/*
AddIconByType (SND,/icons/sound2.gif) audio/*
AddIconByType (VID,/icons/movie.gif) video/*AddIcon /icons/binary.gif .bin .exe
AddIcon /icons/binhex.gif .hqx
AddIcon /icons/tar.gif .tar
AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
AddIcon /icons/a.gif .ps .ai .eps
AddIcon /icons/layout.gif .html .shtml .htm .pdf
AddIcon /icons/text.gif .txt
AddIcon /icons/c.gif .c
AddIcon /icons/p.gif .pl .py
AddIcon /icons/f.gif .for
AddIcon /icons/dvi.gif .dvi
AddIcon /icons/uuencoded.gif .uu
AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
AddIcon /icons/tex.gif .tex
AddIcon /icons/bomb.gif coreAddIcon /icons/back.gif ..
AddIcon /icons/hand.right.gif README
AddIcon /icons/folder.gif ^^DIRECTORY^^
AddIcon /icons/blank.gif ^^BLANKICON^^DefaultIcon /icons/unknown.gif
AddDescription "GZIP compressed document" .gz
AddDescription "tar archive" .tar
AddDescription "GZIP compressed tar archive" .tgzIndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t
AddLanguage en .en
AddLanguage ru .ruLanguagePriority ru en
ForceLanguagePriority Prefer Fallback#AddCharset ISO-8859-5 .iso8859-5 .latin5 .cyr .iso-ru
AddCharset WINDOWS-1251 .cp-1251 .win-1251AddType application/x-tar .tgz
AddEncoding x-compress .Z
AddEncoding x-gzip .gz .tgz
AddType application/x-gzip .gz .tgz
AddHandler cgi-script .cgi
AddHandler type-map varBrowserMatch "Mozilla/2" nokeepalive
BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
BrowserMatch "RealPlayer 4\.0" force-response-1.0
BrowserMatch "Java/1\.0" force-response-1.0
BrowserMatch "JDK/1\.0" force-response-1.0
BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
BrowserMatch "MS FrontPage" redirect-carefully
BrowserMatch "^WebDrive" redirect-carefully
BrowserMatch "^WebDAVFS/1.[0123]" redirect-carefully
BrowserMatch "^gnome-vfs" redirect-carefully
BrowserMatch "^XML Spy" redirect-carefully
BrowserMatch "^Dreamweaver-WebDAV-SCM1" redirect-carefully
>Всем привет! у меня стоит второй апач, nginx как фронт для картинок...
>периодически повтоярется вот такая картина что делать ума не приложу:
>
>Total accesses: 240 - Total Traffic: 6.9 MB
>CPU Usage: u2.32031 s.796875 cu0 cs0 - 5.03% CPU load
>3.87 requests/sec - 114.0 kB/second - 29.4 kB/request
>85 requests currently being processed, 0 idle workers
>WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
>WWWWWWWWWWWWWWWWWWWWW...........................................
>
>
>все процессы висят в состоянии W - и достучаться до сервера анрыл
>просто...
>
>чего делать? кто сталкивался, как боролся?
>:)Ситуация аналогичная. Через некоторое время так же затыкаются все треды апачика. apache2.0.59(worker_mpm)+php_mod5.2.0+mysql4+freebsd6.1rc1..
Что только не делал ? апачик раньше стоял 2.2.3, откатил, но проблема осталась. Может придётся пересыжаваться на prefork mpmб хотя обидно. Опытным путём установил, что затыкаются именно скрипты. Статика не попадает в упавшие треды (ExtendedStatus On)...Если решение какое-нибудь нашло очень было бы интересно в чём собака порылась
>Всем привет! у меня стоит второй апач, nginx как фронт для картинок...
>периодически повтоярется вот такая картина что делать ума не приложу:
>
>Total accesses: 240 - Total Traffic: 6.9 MB
>CPU Usage: u2.32031 s.796875 cu0 cs0 - 5.03% CPU load
>3.87 requests/sec - 114.0 kB/second - 29.4 kB/request
>85 requests currently being processed, 0 idle workers
>WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
>WWWWWWWWWWWWWWWWWWWWW...........................................
>
>
>все процессы висят в состоянии W - и достучаться до сервера анрыл
>просто...
>
>чего делать? кто сталкивался, как боролся?
>:)
Смотрите по server-status какими скриптами занимаются апачи - может пробелма не в апаче а в скриптах ?
>[оверквотинг удален]
>85 requests currently being processed, 0 idle workers
>WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
>WWWWWWWWWWWWWWWWWWWWW...........................................
>
>
>все процессы висят в состоянии W - и достучаться до сервера анрыл
>просто...
>
>чего делать? кто сталкивался, как боролся?
>:)Аналогичная проблема, появилась месяца 2 назад и не знаю как решить. Увеличение кол-ва максимальных процессов апача только оттягивает конец ;) Висят и ждут чего-то. По lsof никаких файлов апачем не открыто, проц свободен. Раньше такой проблемы не наблюдалось, а сейчас вешается где-то раз в день-три. Особой нагрузки (по логам) или атаки кучей запросов в это время не наблюдается. Просто в один прекрасный момент начинает расти кол-во процессов и минут за 5-10 они забивают все доступные процессы.
Версия
Apache/2.2.9 (Debian) DAV/2 SVN/1.5.1 PHP/5.2.6-3 with Suhosin-Patch mod_ruby/
1.2.6 Ruby/1.8.7(2008-08-11) mod_ssl/2.2.9 OpenSSL/0.9.8g Server
Вешаться стал теперь практически каждый день. Включил ExtendedStatus On
Когда апач висит - apache2ctl fullstatus не открывается, т.к. нет свободных процессов.
Настроил мониторинг на большое кол-во процессов и всё же поймал момент когда он собирается повесится. В это время большая часть процессов апача висит в статусе W уже долгое время. Выглядит это примерно так:Srv PID Acc M CPU SS Req Conn Child Slot Client VHost Request
0-22 6607 0/5/ W 21.99 559 0 0.0 0.07 32.09 67.195.37.94 site.ru GET / HTTP/1.0
4864
0/
1-22 3984 311/ W 465.16 173 0 0.0 0.65 35.55 74.6.22.176 site.ru GET /catalog/hygienic_products/dispenser/toilet_paper_big_rolls
5077
2-22 6608 0/6/ W 16.09 708 0 0.0 0.00 29.27 74.6.17.173 site.ru GET /catalog/product1/auto-wash/truck/avtomaticheskaja-mojka-rbh
4957
0/
3-22 6302 115/ W 26.11 624 0 0.0 0.60 27.89 74.6.8.103 site.ru GET /catalog/product1/sweep-machine/ride_on HTTP/1.0
4661
0/
4-22 5559 148/ W 121.83 278 0 0.0 0.73 27.87 67.195.37.94 site3.ru GET / HTTP/1.0
4317
0/49
5-22 5561 / W 199.19 115 0 0.0 0.57 39.47 74.6.22.176 site2.ru GET / HTTP/1.0
4606
0/
6-22 2802 491/ W 200.80 645 0 0.0 2.07 27.13 74.6.8.103 site.ru GET /catalog/product1/sweep-machine/ride_on HTTP/1.0
4434
7-22 7366 0/2/ W 0.00 552 0 0.0 0.03 25.09 74.6.17.173 site.ru GET /catalog/product1-home/domestic/vacuum_water_filter HTTP/1.0
4146
0/
8-22 7370 101/ W 0.18 538 0 0.0 0.23 30.58 67.195.37.94 site.ru GET / HTTP/1.0
4143
0/12
9-22 6609 / W 29.16 6 0 0.0 0.09 31.19 74.6.22.176 site.ru GET /catalog/hygienic_products/dispenser/toilet_paper_big_rolls
4183
0/
10-22 6695 110/ W 26.81 156 0 0.0 0.26 31.40 74.6.22.176 site.ru GET / HTTP/1.0
3783
11-22 11009 0/0/ _ 86.18 36 0 0.0 0.00 22.27 ::1 site2.ru OPTIONS * HTTP/1.0
4090
0/42
12-22 6377 / W 38.53 342 0 0.0 0.39 50.02 74.6.22.176 site.ru GET / HTTP/1.0
3363
13-22 6697 0/8/ W 25.76 508 0 0.0 0.06 21.92 74.6.8.103 site.ru GET /catalog/product1/pressure/hot/hds-558-c-eco.html HTTP/1.0
3971
14-22 6698 0/6/ W 29.26 280 0 0.0 0.00 27.58 74.6.22.176 site.ru GET / HTTP/1.0
3434
0/
15-22 6502 111/ W 37.09 199 0 0.0 0.31 36.54 74.6.8.103 site.ru GET /catalog/product1/auto-wash/car/avtomaticheskaja-mojka-chh-8
2733И таких процессов с SS>300 и до сих пор как бы отдающих данные клиенту - более 100. Причем вешается и ночью, когда нагрузка минимальна. Всё остальное время в нормальном рабочем режиме - кол-во процессов висит на уровне 10-15 изредка поднимаясь до 40.
Просто видимо что-то происходит с апачем и он перестает закрывать соединения, тем самым доходя до своего лимита процессов и вешаясь.Подскажите что ещё можно проанализировать в момент когда он "вот-вот повеситься" чтобы поточнее проблему найти?
Разобрался с проблемой, выключил кеширование данных через PHP APC для сайтов на сервере и стало работать нормально, уже недели 2 как без висюков работает... Но так и не понятно кто виноват - модуль APC для PHP или сайт, который неправильно им пользуется...