这可能是因为您正在UNIX系统上使用mod_wsgi和Apache的嵌入式模式,甚至可能与Apache prefork MPM一起使用,这会使情况变得更糟。简而言之,在Apache的配置中,它是一个多进程Web服务器。结合默认情况下默认是在第一个请求上延迟加载应用程序这一事实,您会看到在应用程序加载时针对每个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 Wiki页面上记录。特别是从开始:
http://code.google.com/p/modwsgi/wiki/QuickConfigurationGuide
如果确实保证需要运行多个守护进程,而不仅仅是对应用程序将要获得的负载抱有希望,并且仍然担心加载时间,那么可以使用WSGIImportScript和其他方法配置mod_wsgi在任何请求进入之前在流程开始时预加载WSGI应用程序。但是对于Django,请确保您使用以下描述的WSGI脚本文件:
http://blog.dscpl.com.au/2010/03/improved-wsgi-script-for-use-with.html
而不是Django文档所描述的那种,因为它是缓慢加载的,您仍然可以看到问题以及WSGI托管机制与内置开发服务器之间的行为差异。
| 归档时间: |
|
| 查看次数: |
431 次 |
| 最近记录: |