我不知道,如果我为nginx积压设置了一个非常大的值,会导致什么后果。 谁能告诉我?
答案 0 :(得分:0)
对于php-fpm来说,将listen backlog设置为65535太大了。 特别是堵塞接受队列真的不是一个好主意 当客户端或nginx的连接超时时。
假设php-fpm qps是5000.完全需要13秒 消耗65535个后备连接。连接可能已经 已关闭nginx或客户端超时的原因。所以当我们接受 在第65535个套接字中,我们得到了一个破损的管道。
更糟糕的是,如果数百个php-fpm进程获得了封闭连接 他们只是在浪费时间和资源来完成一项艰巨的任务 写入关闭连接时出错(错误:管道损坏)。
真正的最大接受队列大小将是积压+ 1(即这里512)。 我们取511,这与nginx和redis相同。