Добрый день. Debian 7 amd64, PHP-FPM 5.4.4 изх комплекта дистрибутива.
Регулярно (несколько раз в неделю, иногда - несколько раз в день) сталкиваюсь с ситуацией непонятного торможения php-fpm, выглядит этот как резкое уменьшение количества коннектов к БД и полностью забитом бэклоге FPM. Варианты типа "подключение ко внешним сайтам" и т.п. исключили из кода. Потыкал strace в воркеры (их у меня 64 обычно на один веб-сервер). В "проблемные" периоды есть анамалия выглядящая следющим образом: 00:16:17.507658 accept(0, {sa_family=AF_INET, sin_port=htons(19554), sin_addr=inet_addr("1.2.3.4")}, [16]) = 67 00:16:17.508000 time(NULL) = 1384892177 00:16:17.508190 times({tms_utime=84, tms_stime=22, tms_cutime=0, tms_cstime=0}) = 1780948166 00:16:17.508505 poll([{fd=67, events=POLLIN}], 1, 5000) = 0 (Timeout) 00:16:22.513709 close(67) = 0 00:16:22.513922 accept(0, {sa_family=AF_INET, sin_port=htons(29537), sin_addr=inet_addr("1.2.3.4")}, [16]) = 67 00:16:22.514073 time(NULL) = 1384892182 00:16:22.514190 times({tms_utime=84, tms_stime=22, tms_cutime=0, tms_cstime=0}) = 1780948667 Ну и далее следует успешный poll() и чтение запроса от веб-сервера. fd=67 - это подключение от nginx на соседнем сервере. Т.е. непонятно по какой причине poll() зависает на 5 секунд блокируя работу интерпретатора. Вероятность проблемы может быть весьма высокой, например 1/60, что при условии получения 1000-1500 запросов в секунду очень болезненно. Подскажите, куда дальше копать? Может быть где-то в /proc или /sys есть общесистемный счётчик tcp retransmit для каждого интерфейса либо IP, чтобы проверить версию с потерями пакетов во внутренней сети? Отдельно беспокоит тот факт, что проблемы начались после переезда с 6 на 7 версию ОС. Заранее благодарен за советы. -- WBR, Bogdan B. Rudas