Nginx에 높은 동시성을 달성하는 방법의 멀티 프로세스 모델인가?

먼저 요약 : nginx를 비 차단 비동기 작업을하고, 보통의 nginx 작업자 프로세스의 수, CPU 코어와 같은 수의 더 적절한 설정을 설정합니다.

우리는 일반적으로 이유입니다, 프로세스 Nginx에, 일반적으로 CPU 코어의 수와 동일하게 설정의 작업자 수를 설정? 이유는 여러 프로세스가 높은 동시성에게 그것을 달성 할 수 있는가?

동시 프로세스와 더 직접적인 관계가 없을 수는, 주로 사용되는 작업 서버에 의존하기 때문에 서버가 요청을 요청하는 과정을 담당하는 방식을 사용하는 경우, 다음 수는 동시 프로세스의 수입니다. 그래서 네트워크 전송, 우리 모두가 알아야 할 질문의 주요 단점을 기다리는 프로세스가 많이 있습니다.

nginx를 비동기 비 블로킹 동작 모드 것은 당신이이 프로세스가 독립을 확보하기 위해 기다릴 필요가이 대기 시간의 사용이다. 따라서, 프로세스의 소수의 성능은 동시성 문제를 많이 해결합니다.

nginx를 간단한 용어로, 그것을 사용하는 방법입니다 : 같은 네 개의 프로세스를 프로세스 방식의 요청에 대한 책임이 있다면, 동시에 세션이 닫힐 때까지 네 개의 요청 이후, 각 프로세스는, 그들 중 하나에 대한 책임왔다. 이 경우 기간, 다섯 번째 요청이 들어 왔습니다. 네 개의 프로세스가 작업을 수행 한하지 않았기 때문에 우리는 시간에 반응 할 수 있으므로, 일반적으로 새 들어오는 요청이 처리 할 수있는 새로운 공정을 열 때마다 예약 프로세스가 있습니다.

Nginx의 경우가, 요청이 각각의 nginx에 와서 처리하는 작업자 프로세스가있을 것입니다. 하지만 어느 정도까지 전체 프로세스는, 그것을 처리하기 위해? 여기서 이러한 요청 대기에 전달하는 서버 상류 측 (후방)에 요청하여 리턴 프로세스가 발생할 수 블로킹. 그래서,이 과정이 너무 바보 노동자 기다리고되지 않습니다, 그는 후에 이벤트를 등록 요청을 보내는 것입니다 : "상류 반환하는 경우, 알려, 나는 다음 건조했다." 그래서 그는 휴식을했다. 또 다른 요청이 들어 오면이 시점에서, 그는 신속하게이 방법으로 처리 할 수 ​​있습니다. 업스트림 서버가 반환되면, 작업자는이 요청은 아래로 갈 것이다, 이상 걸릴 것입니다,이 이벤트를 트리거합니다.

때문에 작업 웹 서버의 특성 조각이 실제로 여러 프로세스가 높은 동시성을 해결하는 이유는 서버 시스템에 많은 시간을 보냈다, 각 요청의 삶의 큰 부분은 네트워크 전송에 결정한다.

추천

출처www.cnblogs.com/redfire/p/11972545.html