Добрый день, спасибо за ответ. 2013/11/20 Eugene Berdnikov <b...@protva.ru>
> On Tue, Nov 19, 2013 at 11:58:33PM +0300, Bogdan wrote: > > Т.е. непонятно по какой причине poll() зависает на 5 секунд блокируя > работу > > интерпретатора. > > Скорее всего, по той причине, что никаких данных по сети не приходит. > > Не совсем тут понятно, что значит "никаких данных по сети не приходит" - т.е. удалённая сторона, в данном случае nginx, установила tcp-соединение, но данных в него не послала? Сравнивал с "нормальным" режимом функционирования системы - там таких пауз и близко не наблюдается. Вероятность отсуствия запроса в течении 5 секунд при интенсивности порядка 1000-1500 запросов в секунуд мне кажется очень маленькой. Рабочих процессов 64, ну максимум 128. Я тоже рассматриваю проблему межсерверной сетью, но варианты "какая-то проблема в ядре с одной из сторон" и "nginx перестал посылать запросы" пока не могу исключить. > > > > Вероятность проблемы может быть весьма высокой, например > > 1/60, что при условии получения 1000-1500 запросов в секунду очень > > болезненно. > > Подскажите, куда дальше копать? > > Убедиться, что данных действительно нет, если в этом сомневаетесь. > Т.е. tcpdump в руки и искать эту коннекцию. > Ну поискать-то в этом потоке будет весьма сложно, потому я и интересовался про ретрансмиты - этот параметр можно посмотреть на сервере где запущен nginx. Но и в самом деле - снифер вполне подойдёт, там тоже будет видно. Коммутатор мне недоступен (внутреннюю сеть предоставляет дата-центр), а потерь на интерфейсах судя по ifconfig нет. > > > Может быть где-то в /proc или /sys есть общесистемный счётчик tcp > > retransmit для каждого интерфейса либо IP, чтобы проверить версию с > > потерями пакетов во внутренней сети? > > Есть общий счётчик: netstat -s (ака /proc/net/netstat). > > При чём тут счётчик ретрасмиссий -- непонятно: речь же о входящих пакетах, > а не исходящих. Все счётчики интерфейса показывает ip -s link dev... > Я планировал посмотреть ретрансмиты на сервере который выполняет nginx и шлёт запросы к PHP-FPM, но т.к. tcp-счётчиков для интерфейсов видимо нет, буду использовать снифер. > > Для проверки версии о потерях пакетов достаточно сравнить счётчики > интерфейсов клиента и сервера. Вообще, нормальные свитчи тоже умеют > вести статистику по интерфейсам, а также считать дропнутые пакетики. > На сервере со счётчиками уровня ethernet всё хорошо, а коммутатор мне к сожалению недоступен. > -- > Eugene Berdnikov > > > -- > To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org > with a subject of "unsubscribe". Trouble? Contact > listmas...@lists.debian.org > Archive: http://lists.debian.org/20131120065121.gr4...@protva.ru > > -- WBR, Bogdan B. Rudas