Nginx에서 'multi_accept'가 'off'인 이유는 무엇입니까?


답변:


13

아마도 on으로 인해 모든 작업자 프로세스가 활성화되어 있고 들어오는 모든 요청을 동시에 처리하려고 시도합니다. 비활성화되면 Nginx는 요청을 하나씩 처리 할 하위 프로세스를 결정합니다. Nginx는 이것에 매우 효율적이기 때문에 아마도 대부분의 사람들에게 도움이 될 것입니다. 일부는 요청으로 작업자 연결을 넘칠 수 있으므로이를 사용하는 것이 위험하다고 생각합니다. OS 수준의 TCP 설정도이 부분에 영향을 줄 것입니다.


3
나는 정확한 상황을 가졌다. worker_rlimit_nofile, worker_connections 및 worker_processes 자동 명령의 기능을 찾으려고 노력했습니다. Nginx는 웹 소켓을 허용하는 응용 프로그램의 역방향 프록시입니다. Nginx 설정은 모든 작업자에게 50 개의 연결을 허용합니다. 두 명의 작업자가 있고 (따라서 100 개의 연결이 설정되어 있어야 함) multi_accept가 켜져 있으면 웹 소켓을 만들 수 없다는 오류가 발생합니다 (이미 50 개의 연결을 가진 작업자가 시도합니다 ...). multi_accept가 꺼져 있으면 모든 것이 완벽하게 작동합니다.
Hamburml 2016 년
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.