2010-06-15 6 views
4

내 mod_wsgi django 응용 프로그램은 클라이언트가 만드는 첫 번째 여러 요청에 대해 계속로드되는 것 같습니다. 이것은 나의 성능을 죽이고있다.mod_wsgi django 응용 프로그램이 반복적으로 다시로드되는 것을 방지하려면 어떻게합니까?

충분한 요청이 있은 후에 그것은 안정된 것처럼 보이고 응용 프로그램은 더 이상 다시로드되지 않는 것처럼 보인다. 왜 이런 일이 일어나고 내가 그것을 막을 수 있을지에 대한 생각은 없습니까?

는 (필자는 httpd.conf 파일에 다음과 같은 한 : 그게되지 않도록, MaxRequestsPerChild 0)

답변

4

당신은 어쩌면 아파치 prefork의로, UNIX 시스템에 mod_wsgi에 아파치의 포함 된 모드를 사용하고 있기 때문에이 가능성이 높습니다 MPM으로 인해 모든 것이 악화됩니다. 요약하면, 아파치는 다중 프로세스 웹 서버입니다. 첫 번째 요청에서 애플리케이션을 느리게로드하는 것이 기본값이라는 사실과 결합하면 애플리케이션이로드 될 때 각 Apache 서버 하위 프로세스에 대한 초기 요청이 지연됩니다.

Django 프레임 워크조차도 과도하지 않아야하며 특정 응용 프로그램이 시작시에 오랜 지연이나 큰로드 스파이크를 일으키는 지에 대해 질문 할 것입니다.

당신이 읽을 수 있는지 확인 문제를 이해하려면

http://blog.dscpl.com.au/2009/03/load-spikes-and-excessive-memory-usage.html http://code.google.com/p/modwsgi/wiki/ProcessesAndThreading

그런 다음 데몬 mod_wsgi에의 모드 대신 같은 mod_wsgi에 위키 페이지에 문서화을 사용하여 변경할 수 있습니다. 와 특정 시작에서 :

http://code.google.com/p/modwsgi/wiki/QuickConfigurationGuide

진정으로 하나 개 이상의 데몬 프로세스를 실행해야 그냥 종류의 응용 프로그램을 얻을 것입니다로드하고로드 시간이 무엇인지에 대한 희망이 없다는 것을 보증하는 경우 여전히 문제는, 당신은 어떤 요청에 오기 전에 프로세스 시작에서 당신의 WSGI 응용 프로그램을 미리로드 WSGIImportScript 및 기타 방법을 사용하여 mod_wsgi에 구성 할 수 있습니다 장고를 들어 있지만, 당신은 WSGI 스크립트 파일을 사용해야합니다 설명합니다.

http://blog.dscpl.com.au/2010/03/improved-wsgi-script-for-use-with.html

Django 문서가 느리게로드 될 때 설명하고 WSGI 호스팅 메커니즘과 개발 된 개발 서버 간의 동작 차이점을 확인할 수 있습니다.

관련 문제