Мучаюсь с проблемой уже не один месяц...
Серв под FreeBSD 8.0-RELEASE-p2 x64 + Apache 2.2.14 + PHP v5.3.2.На сервере лежит несколького сайтов. Трафф довольно большой. Общее посещение всех сайтов в сутки около 50 000 хостов, листают в среднем 500 000.
Закономерностей не заметил. Работать может день, неделю, две, когда как, затем начинает тормозить Apache, очень долго отдает контент, затем виснет. Спасает ребут. При этом серв пингуется, по фтп пускает, к mysql удаленно коннектится. PHP+mysql продолжает работать (ведутся логи заходящих на сайт пользователей, все пишется в базу в то время как апачка висит).
В messege.log последнии ошибки перед зависанием 10-ти часовой давности:
Dec 4 16:34:21 www kernel: Limiting closed port RST response from 512 to 200 packets/sec
Dec 4 19:26:34 www kernel: pid 63731 (httpd), uid 80: exited on signal 11
Dec 4 19:27:55 www kernel: Limiting closed port RST response from 472 to 200 packets/sec
Dec 4 22:34:35 www kernel: pid 72111 (httpd), uid 80: exited on signal 11В апач логе за час перед зависоном такое:
[Sun Dec 05 09:17:42 2010] [error] [client 95.81.47.198] request failed: error reading the headers
[Sun Dec 05 09:17:42 2010] [error] [client 95.81.47.198] request failed: error reading the headers
[Sun Dec 05 09:17:42 2010] [error] [client 95.81.47.198] request failed: error reading the headers
[Sun Dec 05 09:18:23 2010] [error] [client 195.162.70.29] request failed: error reading the headersВис и перед сменой frebsd (до этого стояла 7-я версия).
Из железа сменил: проц, БП, винт + шлейфы к нему.
Загрузил сервыры google поиском - толкового ничего не нашел.
Где порыться, что попробовать?
> Где порыться, что попробовать?
>nginx?
>> Где порыться, что попробовать?
>>
> nginx?Нет. Стоит поставить?
>>> Где порыться, что попробовать?
>>>
>> nginx?
> Нет. Стоит поставить?По-поводу "Limiting closed port RST response from 512 to 200 packets/sec" тут похоже
http://www.opennet.me/openforum/vsluhforumID1/84402.html
А что касается header-ов, можно увидеть какую-нибудь статистику, навроде вывода:
cat log | | awk '{print $8}' | sed 's/\]$//g' | sort | uniq -c ?
Если ип-ов мало, проще блокировать на fw, если много, то смотреть, почему рвется соединение: timeout-ы, maxrequests и т.п.
> По-поводу "Limiting closed port RST response from 512 to 200 packets/sec" тут
> похоже
> http://www.opennet.me/openforum/vsluhforumID1/84402.html
> А что касается header-ов, можно увидеть какую-нибудь статистику, навроде вывода:
> cat log | | awk '{print $8}' | sed 's/\]$//g' | sort
> | uniq -c ?
> Если ип-ов мало, проще блокировать на fw, если много, то смотреть, почему
> рвется соединение: timeout-ы, maxrequests и т.п.Здесь дело то совсем не в header-ах. Когда apache начинает тормозить а потом виснет, ошибок нет...
Как только поймаю этот момент, выложу все логи и показатели :)
Вот что показывает top в момент зависания...last pid: 3836; load averages: 0.06, 0.35, 0.53 up 26+01:25:33 20:01:15
864 processes: 1 running, 863 sleeping
CPU: 0.0% user, 0.0% nice, 0.1% system, 0.0% interrupt, 99.9% idle
Mem: 3706M Active, 1984M Inact, 1406M Wired, 303M Cache, 828M Buf, 527M Free
Swap: 4096M Total, 338M Used, 3757M Free, 8% InusePID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND
63030 mysql 38 44 0 2503M 1592M ucond 3 133:11 0.00% mysqld
99253 root 1 44 0 82024K 11180K select 3 2:04 0.00% httpd
825 root 1 44 0 10876K 1380K select 0 1:59 0.00% sendmail
674 root 1 44 0 10672K 1284K select 0 0:46 0.00% ntpd
493 root 1 44 0 5880K 596K select 0 0:23 0.00% syslogd
96821 www 1 44 0 87144K 15636K lockf 2 0:11 0.00% httpd
835 root 1 46 0 6812K 984K nanslp 1 0:10 0.00% cron
618 root 1 44 0 7932K 600K select 0 0:10 0.00% proftpd
550 www 1 44 0 86120K 14104K lockf 2 0:09 0.00% httpd
97482 www 1 44 0 86120K 13660K lockf 0 0:08 0.00% httpd
1369 www 1 44 0 85096K 13948K lockf 3 0:08 0.00% httpd
99334 www 1 44 0 86120K 15656K lockf 2 0:08 0.00% httpd
99360 www 1 44 0 87144K 16036K lockf 3 0:08 0.00% httpd
946 www 1 44 0 88168K 18056K lockf 2 0:07 0.00% httpd
207 www 1 44 0 88168K 16024K lockf 3 0:07 0.00% httpd
99822 www 1 44 0 85096K 13368K lockf 2 0:07 0.00% httpd
99207 www 1 44 0 85096K 13404K lockf 2 0:07 0.00% httpd
Я бы памяти добавил. См. в swap.
> Я бы памяти добавил. См. в swap.Так максимум. Мать 3200SH больше 8 гБ не поддерживает. Да и свап оно не использует, как откусило месяц назад чуток, так и осталось.
Сделаем наверное скриптец который рестартит апачу если нет отзыва на 80-м порту да и все. Не хотелось через попу, но выхода невидать...