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

Исходное сообщение
"apache2+PHP+mysql=TIME_WAIT"

Отправлено teebot , 24-Окт-05 18:07 
Здравствуйте.
С недавних порт появилась такая проблема, апач не отвечает на запросы. Причем это проявляется не постоянно, а с неопределенной переодичностью. Сам сервер работает, по ps ax видны процессы, но их тьма тьмущая(там хостится дико популярный сайт, посещаемость 13000 в день). По netstat видно немеряно сессий, многие из которых TIME_WAIT.
Сначала было предположение что нужно увеличить MinSpareServers, MaxSpareServers, MaxClients, так сервер под нагрузкой
Проблема не исчезла.
Потом решили установить модуль апача limitipconn для ограничения кол-ва соединений с одного IP, что бы хоть как-то разгрузить сервер.
Проблема не исчезла

ОС Linux (судя по uname -a Red Hat Linux 3.2.3-47)
Сложность заключается в том что сервер физически находится в америке и работает под вируальной машиной. Тоесть усложняется процес пересборки ядра (в случае экстренной ситуации я не смогу поправить lilo и т.д.).

Как по мне возможены такие варианты:
1) это глюки apache2
2) это глюк mysql
3) это безграмотный код PHP
4) работать в направлении ограничения соединенй с одного IP, но уже на уровне ОС. Но iptables не имеет модуля iplimit, пересобрать ядро наверное крайне сложно, а как для меня то невозможно учитывая выше  перечисленные причины.
5) проблема в самой ОС.
6) разгрузить сервер (там 2 виртуальных домена) и разкидать по разным серверам сайты, потом надеятся что это помогло.

возможно есть еще какие-то.
Находил в нете подобные вопросы но они оставались без ответа.
Очень надеюсь что это какой-то пустяк и с вашей помощью я решу эту проблему.

Если можно без издевок, реально нужна помощь.
Понадобятся какие-то данные - выложу.
Сразу говорю в логах чисто, апач запущен.

Зарание спасибо.


Содержание

Сообщения в этом обсуждении
"apache2+PHP+mysql=TIME_WAIT"
Отправлено Pahanivo , 24-Окт-05 21:40 
Ну, во-первых, "тьма тьмущая" очень полезное выражение для количественного анализа.
Во-вторых, 13000 если разделить на 24 часа то это 540 запросов в час (средне), учитывая пиковые часы это 1000, 2000, 3000 запросов в час запросто. Предположим у тебя идет 3600 запросов в час - каждый запрос 1 сек - то реально у тебя по одномы процессу в секунду - если запросы медленно обрабатываются - 2, 3, 10 сек - количество их, одновременно висящих, растет пропорционально. Это тока так цифра по первому прекиду.
В-третих: при твоей формулировке врядли те кто поможет, слишком размыто сформулированно. Предсказать поведении твоей связки по той инфе которую ты предоставил - одно что попасть пальцем в небо.


"apache2+PHP+mysql=TIME_WAIT"
Отправлено teebot , 25-Окт-05 10:53 
>В-третих: при твоей формулировке врядли те кто поможет, слишком размыто сформулированно. Предсказать
>поведении твоей связки по той инфе которую ты предоставил - одно
>что попасть пальцем в небо.

как я эту проблему увидел так и описал.
подсчитывать кол-во процессов в то время когда сайт не работает, у меня нет возможности. После рестарта апача все становится на свое место.
Была надежда, что кто-то видел нечто подобное. Но там все как обычно, никаких подозрительных записей. В этот то и непонятность ситуации.


"apache2+PHP+mysql=TIME_WAIT"
Отправлено teebot , 25-Окт-05 10:59 
>Но там все как обычно,
>никаких подозрительных записей. В этот то и непонятность ситуации.

это идет речь о логах.