为什么在Nginx中默认将'multi_accept'关闭?


Answers:


13

可能是因为启用后,所有工作进程都处于活动状态,并尝试同时处理所有传入请求。禁用后,Nginx决定哪个子进程一个接一个地处理请求。由于Nginx在这方面非常有效,因此这可能会使大多数人受益。一些人认为启用它是一种风险,因为它可能会使工作人员的请求泛滥。您在OS级别的TCP设置也可能会参与其中。


3
我有确切的情况。我试图找出worker_rlimit_nofile,worker_connections和worker_processes自动命令的作用。Nginx是接受websocket的应用程序的反向代理。Nginx配置允许每个工作人员50个连接。当我有两个工作程序(因此应该建立100个连接)并且启用了multi_accept时,我收到一个错误,指出无法创建websocket(已经拥有50个连接程序的工作程序尝试了...)。禁用multi_accept时,一切正常。
Hamburml
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.