[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: poll() timeout в PHP-FPM при получении запросов от Nginx



On Tue, Nov 19, 2013 at 11:58:33PM +0300, Bogdan wrote:
> Т.е. непонятно по какой причине poll() зависает на 5 секунд блокируя работу
> интерпретатора.

 Скорее всего, по той причине, что никаких данных по сети не приходит.

> Вероятность проблемы может быть весьма высокой, например
> 1/60, что при условии получения 1000-1500 запросов в секунду очень
> болезненно.
> Подскажите, куда дальше копать?

 Убедиться, что данных действительно нет, если в этом сомневаетесь.
 Т.е. tcpdump в руки и искать эту коннекцию.

> Может быть где-то в /proc или /sys есть общесистемный счётчик tcp
> retransmit для каждого интерфейса либо IP, чтобы проверить версию с
> потерями пакетов во внутренней сети?

 Есть общий счётчик: netstat -s (ака /proc/net/netstat).

 При чём тут счётчик ретрасмиссий -- непонятно: речь же о входящих пакетах,
 а не исходящих. Все счётчики интерфейса показывает ip -s link dev...

 Для проверки версии о потерях пакетов достаточно сравнить счётчики
 интерфейсов клиента и сервера. Вообще, нормальные свитчи тоже умеют
 вести статистику по интерфейсам, а также считать дропнутые пакетики.
-- 
 Eugene Berdnikov


Reply to: