在GeoDjango文档中,它提到了GDAL is not thread-safe,因此通过将WSGIDaemonProcess
属性threads
设置为1
,应该可以在单个线程中运行应用。
该设置与Apache自己的MPM模块之间有什么关系?默认情况下,我的Apache Web服务器配置为使用2个进程和自动线程缩放... (Graham在下面正确地指出这不是这种情况)。设置WSGIDaemonProcess
会将此强制为无线程,还是仅用于控制MPM模块下游的分支?
答案 0 :(得分:1)
Apache没有自动线程扩展。 Apache只有进程扩展。每个进程中的线程数是固定的,尽管在worker MPM下,进程中的线程数可以大于1.
无论如何,你想要的是mod_wsgi的守护进程模式。您需要WSGIDaemonProcess和WSGIProcessGroup(或等效的)。这将看到WSGI应用程序在一组单独的进程中运行,而不是在Apache工作进程中运行。在您的情况下,您可能希望将线程设置为1并处理大于1的某个值,以至少仍然提供并发级别。
阅读mod_wsgi文档及相关链接博客和会议演讲。