Jay*_*Tee 19
可能是因为打开时,所有工作进程都处于活动状态并尝试同时处理所有传入请求。禁用时,Nginx 决定由哪个子进程一一处理请求。由于 Nginx 在这方面非常高效,这可能对大多数人都适用。有些人认为启用它有风险,因为它可能会用请求淹没工作连接。您在操作系统级别的 TCP 设置也可能会在其中发挥作用。
multi_accept off
:一个worker只接受一个连接,处理它,然后返回内核处理下一个事件。
multi_accept on
: 一个工人会accept
循环执行直到它EAGAIN
最终完成。如果通过切断需要额外内核参与的事件处理而有相当多的连接,这可能是有益的。但是如果没有那么多传入的连接,那么EAGAIN
就会经常被击中,比如1:1
比率。这种方法还可能导致连接处理不平衡,特别是当它们不规则到达SO_REUSEPORT
且未使用时。
总而言之 - 它有点“hacky”,可能根本不值得修补它,但旋钮仍然在那里 - 以防万一它会有所帮助。
很大程度上基于Valentin Bartenev 的解释,nginx-ru 邮件列表。
归档时间: |
|
查看次数: |
24112 次 |
最近记录: |