>  Q&A  >  본문

Apache 프리포크 및 작업자 문제

Apache 프리포크는 다중 프로세스를 사용하여 요청을 처리합니다. 작업자 모드는 다중 프로세스와 다중 스레드를 더한 것과 동일하며 더 많은 동시 요청을 처리할 수 있지만 메모리와 CPU를 덜 소비합니다. 스레드로부터 안전한 질문입니다. 인터넷에는 이 두 모드의 차이점에 대한 많은 비교가 있는데, 모두 제가 언급한 다중 프로세스와 다중 스레딩에 대해 이야기합니다.
질문 1: 작업자 모드는 높은 동시성을 향상시키고 메모리와 CPU를 절약할 수 있는데 왜 Apache가 기본적으로 여전히 프리포크 모드를 사용합니까?
질문 2: Apache가 작업자 모드를 사용한 다음 Linux의 epoll 모드를 사용하는 경우 10,000개 이상의 동시성을 지원할 수 있습니까?

高洛峰高洛峰2713일 전400

모든 응답(1)나는 대답할 것이다

  • 仅有的幸福

    仅有的幸福2017-05-16 17:05:39

    Apache는 물론 작업자 모드를 사용하여 PHP를 처리할 수 있습니다. 말씀하신 대로 동시 요청을 처리하는 능력이 향상되고 메모리 및 CPU 소비가 줄어듭니다. 그러나 유일한 단점은 프리포크가 다중 프로세스 및 다중 작업이라는 것입니다. 스레드가 있고 일부 PHP 확장에는 스레드 안전성 문제가 있으므로 스레드로부터 안전한 PHP 확장이 없으면 사용할 수 있지만 존재하는 경우 사용하지 않는 것이 가장 좋습니다. 그렇지 않으면 데이터 불일치가 발생합니다. apache가 epoll을 사용한다면 가능하겠지만 동시접속자 10,000명 이상을 운영하기는 좀 어려울 것 같습니다

    회신하다
    0
  • 취소회신하다