답변:
Nginx는 Apache 및 다른 연결 웹 서버 당 다른 프로세스와 다릅니다. 하나의 마스터 프로세스를 사용하여 실제로 연결을 처리하는 소수의 작업자 프로세스를 시작하고 모니터링합니다. 내 권장 사항은 기본 작업자 수인 1로 시작하는 것입니다.
worker_processes 1;
nginx 작업자가 IO에 너무 많은 시간을 소비하고 있음을 발견 한 경우에만이를 늘리면됩니다. 초당 수백 건의 요청을 처리 할 때까지는 그렇지 않습니다.
이 설정이 유용 할 수도 있습니다.
worker_rlimit_nofile 8192;
events {
worker_connections 2048;
use epoll;
}
SMP 시스템에서는 최소 nCPU 작업자 프로세스를 시작해야합니다. 쿼드 코어-4 개 등.
정적 콘텐츠가 많은 일부 사이트를 서비스하려는 경우 디스크 당 하나씩 더 많은 작업자를 추가하는 것이 좋습니다.
디스크 하위 시스템의 성능이 저하되거나 너무 높은 경우 nginx 작업자 프로세스가 I / O 작업에서 잠기고 다른 요청을 처리하지 못할 수 있습니다. 이 경우 작업자 프로세스 수를 적절한 값 (수십)으로 늘리거나 디스크 캐시에 메모리를 추가해야합니다.
"ps ax"인쇄물을 살펴보십시오. "D"상태 인 작업자는 잠겨 있습니다. 최소한 nCPU 작업자 프로세스가 차단되지 않을 때까지 늘리십시오.