프로덕션에서 Apache + mod_wsgi 또는 Nginx + mod_wsgi?
중대형 Python WSGI 애플리케이션, Apache + mod_wsgi 또는 Nginx + mod_wsgi에는 무엇을 사용해야합니까?
어떤 조합에 더 많은 메모리와 CPU 시간이 필요합니까?
어느 것이 더 빠릅니까?
어느 것이 다른 것보다 더 안정적인 것으로 알려져 있습니까?
저도 CherryPy의 WSGI 서버를 사용하려고 생각하고 있지만로드가 매우 높은 응용 프로그램에는 적합하지 않다고 들었습니다. 이것에 대해 무엇을 알고 있습니까?
참고 : 저는 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는 더 빠르지 만 결정 요소로 포함시킬만큼 빠르지는 않습니다.
Apache는 사용 가능한 모듈 영역에서 이점이 있으며 거의 표준이라는 사실이 있습니다. 함께 사용하는 모든 웹 호스트에 설치되어 있으며 대부분의 기술자는 매우 익숙 할 것입니다.
또한 mod_wsgi를 사용하는 경우 wsgi 서버이므로 cherrypy가 필요하지 않습니다.
그 외에 제가 드릴 수있는 최고의 조언은 둘 다에서 앱을 설정하고 벤치마킹을 수행하는 것입니다. 누군가가 무엇을 말하든 마일리지가 다를 수 있기 때문입니다.
CherryPy의 웹 서버가 사용하는 한 가지는 순수 파이썬 웹 서버 (AFAIK)라는 것입니다. 이는 배포를 더 쉽게 만들 수도 있고 그렇지 않을 수도 있습니다. 또한 WSGI 및 정적 콘텐츠를 위해 서버를 사용하는 경우 사용의 이점을 확인할 수 있습니다.
(부끄러운 플러그 경고 : 제가 언급 할 WSGI 코드를 작성했습니다)
Kamaelia 는 다음 릴리스에서 WSGI 지원을 받게됩니다. 멋진 점은 미리 만들어진 것을 사용하거나 기존 HTTP 및 WSGI 코드를 사용하여 직접 빌드 할 수 있다는 것입니다.
(파멸없는 플러그 끝)
즉, 현재 옵션을 고려할 때 구성이 가장 간단하고 C 코드를 이해할 수있는 것보다 파이썬 코드를 더 많이 이해할 수 있기 때문에 개인적으로 CherryPy를 사용할 것입니다.
당신은 그들 각각을 시험 해보고 각각의 장단점이 특정 응용 프로그램에 대해 무엇인지 확인하기 위해 최선을 다할 수 있습니다.
참고 URL : https://stackoverflow.com/questions/195534/in-production-apache-mod-wsgi-or-nginx-mod-wsgi
'IT Share you' 카테고리의 다른 글
Graph API v.2.0으로 페이스 북 친구 사귀기 (0) | 2020.11.27 |
---|---|
VB.NET의 수율 (0) | 2020.11.27 |
누군가 나에게 배열의 크기를 제공하는이 템플릿 코드를 설명 할 수 있습니까? (0) | 2020.11.27 |
PHP에서 연산자를 오버로드 할 수 있습니까? (0) | 2020.11.27 |
WiX 파일에서 Name =“SourceDir”은 무엇을 의미합니까? (0) | 2020.11.27 |