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

Исходное сообщение
"Apache начинает тормозить, затем виснет"

Отправлено motoGiS , 05-Дек-10 19:00 
Мучаюсь с проблемой уже не один месяц...
Серв под 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 поиском - толкового ничего не нашел.
Где порыться, что попробовать?


Содержание

Сообщения в этом обсуждении
"Apache начинает тормозить, затем виснет"
Отправлено дядя федор , 05-Дек-10 21:04 
> Где порыться, что попробовать?
>

nginx?


"Apache начинает тормозить, затем виснет"
Отправлено motoGiS , 05-Дек-10 21:43 
>> Где порыться, что попробовать?
>>
> nginx?

Нет. Стоит поставить?


"Apache начинает тормозить, затем виснет"
Отправлено erera22 , 06-Дек-10 14:55 
>>> Где порыться, что попробовать?
>>>
>> 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 и т.п.


"Apache начинает тормозить, затем виснет"
Отправлено motoGiS , 07-Дек-10 20:27 
> По-поводу "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 начинает тормозить а потом виснет, ошибок нет...
Как только поймаю этот момент, выложу все логи и показатели :)


"Apache начинает тормозить, затем виснет"
Отправлено motoGiS , 09-Дек-10 21:14 
Вот что показывает 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% Inuse

  PID 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


"Apache начинает тормозить, затем виснет"
Отправлено KarD_IO , 10-Дек-10 07:09 
Я бы памяти добавил. См. в swap.

"Apache начинает тормозить, затем виснет"
Отправлено motoGiS , 10-Дек-10 14:41 
> Я бы памяти добавил. См. в swap.

Так максимум. Мать 3200SH больше 8 гБ не поддерживает. Да и свап оно не использует, как откусило месяц назад чуток, так и осталось.

Сделаем наверное скриптец который рестартит апачу если нет отзыва на 80-м порту да и все. Не хотелось через попу, но выхода невидать...