문제

무엇을 위해 사용하는 중대형 python WSGI 응용 프로그램,Apache+mod_wsgi 또는 Nginx+mod_wsgi?

는 조합이 필요한 더 많은 메모리 및 CPU 시간입니까?
어느 쪽이 더 빠르다?
에 대한 알려져있는 보다 안정적인 다른?

나는 생각도를 사용 CherryPy 의 WSGI server 그러나 나는 그것에 매우 적합하지 않는 매우 높은 부하 응용 프로그램에 대해 무엇을 알고 있는 이?

참고:나는 사용하지 않는 모든 Python 웹 프레임워크,그냥 쓴 모든 일을 처음부터.
참고':다른 제안도 환영합니다.

도움이 되었습니까?

해결책

nginx/mod_wsgi의 경우 다음을 읽으십시오.

http://blog.dscpl.com.au/2009/05/blocking-requests-and-nginx-version-of.html

NGINX가 아래의 이벤트 중심 시스템 인 방식으로 인해 WSGI 기반 애플리케이션의 경우와 같은 응용 프로그램을 차단하는 데 해로운 행동 특성을 가지고 있습니다. 더 나쁜 사례 시나리오는 멀티 프로세스 NGINX 구성을 사용하면 일부 NGINX 작업자 프로세스가 유휴 상태 일지라도 사용자 요청이 차단되는 것을 볼 수 있습니다. Apache/mod_wsgi에는 Apache 프로세스가 실제로 요청을 처리 할 리소스가있는 경우에만 요청 만 수락 하므로이 문제가 없습니다. 따라서 Apache/mod_wsgi는보다 예측 가능하고 신뢰할 수있는 행동을 제공합니다.

다른 팁

nginx mod_wsgi의 저자는 Apache mod_wsgi와 몇 가지 차이점을 설명합니다. 이 메일 링리스트 메시지에서.

주요한 차이점은 nginx 을 처리하기 위해 만들어졌 큰 숫자의 연결에 훨씬 적은 메모리를 적게 사용합니다.이것은 매우 적합한 앱을 수행하고 있는 혜성처럼 연결할 수 있는 많은 유휴 열리 연결이 있습니다.이것은 또한 그것을 아주 작은 메모리 발을 인쇄합니다.

에서 원료 성능 측면 nginx 더 빨리,하지만 너무 많이 빠른 것이라고 포함되는 것으로 결정하는 요소입니다.

아파치는 이점이 있의 영역에서 모듈을 사용할 수 있고,사실 그것은 꽤 많은 표준입니다.웹 호스트를 가진 것이 설치되어 있고,대부분의 기술자가 될 것을 매우 잘 알고 있습니다.

또한,사용하는 경우 mod_wsgi,그것은 당신의 wsgi 서버 그래서 당신도 필요하지 않 cherrypy.

다른 것보다,최고의 조언을 줄 수 있는 시도 설정에서 응용 프로그램을 모두고 일부 벤치마킹 때문에,어떤 하나 당신에게 말,당신의 마일리지 달라질 수 있습니다.

Cherrypy의 Webserver가 사용했던 한 가지는 순수한 Python Webserver (AFAIK)라는 것입니다. 또한 WSGI 및 정적 콘텐츠 용 서버를 사용하는 경우 사용의 이점을 볼 수 있습니다.

(Shameless 플러그 경고 : 언급하려는 WSGI 코드를 썼습니다)

카마 엘리아 다음 릴리스에서 WSGI 지원이 제공됩니다. 멋진 점은 사전 제작 한 사람을 사용하거나 기존 HTTP 및 WSGI 코드를 사용하여 직접 구축 할 수 있다는 것입니다.

(끝 뻔뻔한 플러그)

그 말로, 현재 옵션을 감안할 때, 나는 개인적으로 Cherrypy와 함께 갈 것입니다. 구성하기가 가장 간단한 것처럼 보이며 C 코드를 이해할 수있는 것보다 Python Code Moreso를 이해할 수 있습니다.

당신은 그들 각각을 시도하고 특정 응용 프로그램의 장단점이 무엇인지 확인하는 것이 가장 좋습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top