1

在 GeoDjango 文档中,它提到GDAL 不是线程安全的,因此应用程序应该通过将WSGIDaemonProcess属性设置threads1.

该设置与 Apache 自己的MPM模块有什么关系?默认情况下,我的 Apache Web 服务器配置为使用 2 个具有自动线程扩展功能的进程......(Graham 在下面正确指出,情况并非如此)。是否会WSGIDaemonProcess强制将此设置为无线程,还是仅用于控制 MPM 模块下游的分叉?

4

1 回答 1

1

Apache 没有自动线程扩展。Apache 只有进程扩展。每个进程中的线程数是固定的,尽管在worker MPM下,一个进程中的线程数可以大于1。

无论如何,你想要的是 mod_wsgi 的守护进程模式。您需要 WSGIDaemonProcess 和 WSGIProcessGroup(或等效项)。这将看到 WSGI 应用程序在一组单独的进程中运行,而不是在 Apache 工作进程中运行。在您的情况下,您希望将线程设置为 1 并将进程设置为大于 1 的某个值,以至少提供一定程度的并发性。

去阅读 mod_wsgi 文档和相关链接博客和会议演讲。

于 2013-08-07T11:12:44.363 回答