2012-06-23 2 views
4

nginx은 트래픽이 많은 웹 사이트의 웹 서버로 더 적합할까요?Nginx v 트래픽이 많은 사이트의 Apache

우리가 만들 사이트는 전자 상거래 사이트입니다.

저는 기술적 인 관점에서 볼 때 왜 실제로 '왜'에 관심이 있습니까? 즉, nginx이 기술적 인 관점에서이 유형의 사이트에 대해 더 나은 선택이 될 수있는 이유는 무엇입니까, 아니면 반대가되는 이유입니까?

+0

https://www.google.com/search?q=apache+vs+nginx – Dougal

+0

감사합니다. @Dougal - 아주 좋은 링크 :) -이 서버의 특정 사용 사례에 대한 조언을 찾고 있습니다. 일반 아파치 v nginx. 귀하의 의견을 주셔서 감사합니다, 당신은 매우 지식이 부족하고 나는 그 링크를 제공하는 시간을내어 주셔서 감사합니다 – Martin

답변

12

마틴, 일반적으로

는 Nginx에는 이벤트 기반 아키텍처로 인해 트래픽이 높은 사이트 낫다. 개별 스레드에서 각 요청을 처리하는 대신 비 차단 I/O를 사용하여 각 스레드에서 많은 요청을 처리합니다.

이 아키텍처의 중요한 측면은 프로세스 또는 스레드의 사용 감소입니다. 스레드는 2MB에서 64MB 이상의 RAM을 사용할 수 있습니다. 따라서 Apache가 10KB JPEG를 제공하는 경우 실제로는 상당한 양의 RAM을 사용하고있을 수 있습니다. 요청이 스레드를 몇 초 동안 바쁘게 할 수있는 느린 클라이언트 (예 : 스마트 폰)가있는 경우 악화됩니다.

많은 사람들이 Nginx를 프록시 앞에서 프록시로 실행하는 것이 이상적인 중간이라고 생각합니다. Nginx는 느린 클라이언트에게 말을하고 아주 작은 양의 RAM을 사용하여 그렇게 할 수 있습니다. 요청이 Apache로 전달되면 요청 속도는 원격 연결 사용자의 제한 속도가 아닌 로컬 연결에 의해 제한됩니다. 즉, 네트워크 병목 현상으로 인해 요청보다 오랜 기간 동안 요청이 유지되지 않습니다 (메모리 점유 스레드).

간단히 말해서 Nginx의 저비용 이점과 Apache의 다양한 기능 세트가 결합되었습니다.

+0

apache2 - mpm - 이벤트. 아직 비교하지는 않았지만 Apache와 동일한 아키텍처이므로 언급해야합니다. – korkman

+0

@ cliff.wells by event-driven architecture, PHP가 응답을 준비 할 때 Nginx가 이벤트에 대한 알림을 받는다는 것을 의미합니까? 또한 두 번째 부분을 이해하지 못했습니다. 즉, Apache의 다양한 기능 세트가 무엇을 의미하는지, 그리고 Apache가 Nginx를 프록시로 사용하여 이상적인 중간 지점을 구축하는 방법을 이해해야합니다. –

+0

그래서 PHP는 nginx에서 노드 js의 성능 동등성을 줄 수 있습니까? –

관련 문제