> 운영 및 유지보수 > 엔진스 > nginx에서 여러 프로세스를 사용하면 어떤 이점이 있나요?

nginx에서 여러 프로세스를 사용하면 어떤 이점이 있나요?

(*-*)浩
풀어 주다: 2019-12-31 14:57:59
원래의
4012명이 탐색했습니다.

nginx에서 여러 프로세스를 사용하면 어떤 이점이 있나요?

nginx는 다중 프로세스 모델의 이점을 채택합니다

#🎜🎜 # 우선, 각 작업자 프로세스는 독립적인 프로세스이므로 잠금이 필요하지 않으므로 잠금으로 인한 오버헤드가 사라지는 동시에 프로그래밍 및 문제 발견 시 훨씬 편리해집니다. (추천 학습:

nginx 사용)

둘째, 독립적인 프로세스를 사용하면 한 프로세스가 종료된 후에도 다른 프로세스가 계속 작동하는 것을 방지할 수 있습니다. 중단되지 않으며 마스터 프로세스는 신속하게 새 작업자 프로세스를 시작합니다.

물론 작업자 프로세스가 비정상적으로 종료되면 프로그램에 버그가 있는 것임에 틀림없지만 비정상적으로 종료하면 현재 작업자에 대한 모든 요청이 실패하게 되지만 모든 요청에 ​​영향을 미치지는 않으므로 위험이 감소됩니다.


nginx 다중 프로세스 이벤트 모델: 비동기 비차단

nginx는 다중 작업자를 사용하지만 요청의 경우 각 워커에 하나의 메인 스레드만 있지만 nginx는 요청을 처리하기 위해 비동기식 및 비차단 방식을 사용합니다. 즉, nginx는 동시에 수천 개의 요청을 처리할 수 있습니다.

작업자 프로세스가 동시에 처리할 수 있는 요청 수는 메모리 크기에 의해서만 제한되며, 아키텍처 설계 측면에서 서로 다른 프로세스 간의 동시 요청을 처리할 때 동기화 잠금 제한이 거의 없습니다. 작업자 프로세스. 작업자 프로세스는 일반적으로 절전 모드로 전환되지 않습니다.

따라서 Nginx의 프로세스 수가 CPU 코어 수와 같을 때(각 작업자 프로세스가 특정 CPU 코어에 바인딩되는 것이 가장 좋음) 프로세스 간 전환 비용은 다음과 같습니다. 최소한.


아파치의 일반적인 작업 방식(아파치에도 비동기 비차단 버전이 있지만 자체 모듈 중 일부와 충돌하기 때문에 일반적으로 사용되지 않음), 각 프로세스는 한 번에 요청합니다.

따라서 동시성 수가 수천에 도달하면 동시에 요청을 처리하는 프로세스가 수천 개에 달하게 됩니다. 이는 운영체제에 있어서 큰 과제인데, 프로세스가 차지하는 메모리가 매우 크고, 프로세스의 컨텍스트 스위칭으로 인한 CPU 오버헤드도 매우 크기 때문에 당연히 성능을 향상시킬 수 없으며 이러한 오버헤드는 전혀 의미가 없습니다. .

위 내용은 nginx에서 여러 프로세스를 사용하면 어떤 이점이 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿