代码之家  ›  专栏  ›  技术社区  ›  Vishal

使用django和mod\wsgi为每个请求重新加载Python模块

  •  1
  • Vishal  · 技术社区  · 16 年前

    初始化

    对于django development server,一切都正常,但是看起来像apache2和modèwsgi,模块加载了每个请求(需要15秒)。

    你知道这种行为吗?

    :我在mod wsgi中启用了守护程序模式,看起来它现在没有重新加载模块!需要更多的测试,我会更新。

    2 回复  |  直到 16 年前
        1
  •  3
  •   Graham Dumpleton    16 年前

    您可能忽略了这样一个事实:在mod\u wsgi的嵌入式模式下或使用mod\u python时,应用程序是多进程的。因此,请求可能会转到不同的进程,当第一次遇到以前未命中的进程时,您将看到延迟。在modèwsgi守护程序模式下,默认情况下只有一个进程。或者像其他人提到的那样,将maxRequestsParchild设置为1,这是一个非常糟糕的主意。

        2
  •  1
  •   mawimawi    16 年前

    我猜,在Apache设置中,MaxClients/maxrequestsprchild和/或threadsprchild的值是1。所以Apache必须为每个mod\u python调用启动Django。所以花了这么长时间。如果您有一个wsgi守护进程,那么只有在“触摸”wsgi脚本时才会重新启动。