【问题标题】:mod_wsgi's WSGIDaemonProcess.threads - what does it control?mod_wsgi 的 WSGIDaemonProcess.threads - 它控制什么?
【发布时间】:2013-08-08 05:37:46
【问题描述】:

在 GeoDjango 文档中,它提到了 GDAL is not thread-safe,因此应用程序应该通过将 WSGIDaemonProcess 属性 threads 设置为 1 在单线程中运行。

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

【问题讨论】:

    标签: multithreading apache thread-safety mod-wsgi geodjango


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-15
      • 2011-06-29
      • 2017-01-01
      • 2021-11-24
      • 2018-03-11
      相关资源
      最近更新 更多