Итак, у меня есть рабочая установка nginx + php-fpm. Страница отчета о статусе php-fpm активирована, и я получаю что-то вроде этого (не заботьтесь о настройках, это тестовый сервер при стресс-тестах):
pool: foobar
process manager: dynamic
start time: 31/Jan/2012:08:18:45 +0000
start since: 23592
accepted conn: 3354
listen queue: 0
max listen queue: 0
listen queue len: 0
idle processes: 0
active processes: 10
total processes: 10
max active processes: 10
max children reached: 25
Нигде не могу найти указаний на то, что listen queue:
,max listen queue:
и listen queue len
индикаторы. Кто-нибудь мог объяснить?
Соединения PHP-FPM осуществляются через сокет (TCP или файловый). Таким образом, PHP-FPM должен:Слушать'на этом сокете, а затем' принять 'соединения.
Поскольку существует конечная скорость, с которой могут приниматься соединения, при высокой нагрузке возможна задержка между моментом инициации соединения и моментом его принятия. Соединения в этом состоянии ставятся в очередь.
прослушать очередь len: Это определяет максимальное количество подключений, которые будут поставлены в очередь. Как только этот предел будет достигнут, последующие соединения будут либо отклонены, либо проигнорированы. По мере принятия соединений длина очереди будет уменьшаться.
Учитывая вышесказанное, логично предположить, что: