所以我有一个工作的nginx + php-fpm安装。 php-fpm状态报告页面被激活,我得到类似的东西(不关心设置,它是压力testing下的testing服务器):
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
我无法find任何指示什么是listen queue: , max listen queue:和listen queue len指标。 任何人都可以解释
PHP-FPM连接通过套接字(基于TCP或文件)。 因此,PHP-FPM必须在该套接字上“ 侦听 ”,然后“接受”连接。
由于连接可以被接受的有限速率,所以在高负载的情况下,在连接被启动的时间和被接受的时间之间可能存在延迟。 该状态下的连接“排队”。
侦听队列len:这定义了将被排队的最大连接数。 达到此限制后,后续连接将被拒绝或忽略。 当连接被接受时,队列长度将会减less。
鉴于上述情况,有理由认为: