在这种情况下,您应该做的是对Web应用程序进行垂直分区,使其跨多个mod_wsgi守护程序进程组运行 . 这样,您就可以将mod_wsgi守护程序进程的配置定制为您委派给每个进程的URL子集的要求 . 由于Django应用程序的管理界面URL通常具有较高的瞬态内存使用要求,但却不经常使用,因此建议您执行以下操作:
WSGIScriptAlias / /my/path/site/wsgi.py
WSGIApplicationGroup %{GLOBAL}
WSGIDaemonProcess main processes=3 threads=5
WSGIProcessGroup main
WSGIDaemonProcess admin threads=2 inactivity-timeout=60
WSGIProcessGroup admin
这样做是为了创建两个守护进程组 . 默认情况下,URL将在主守护进程组中处理,其中进程是持久的 .
但是,对于管理界面的URL,它们将被定向到管理守护程序进程组,该进程组可以使用具有减少的线程数的单个进程进行设置,加上不活动超时,以便在管理员进程时自动重新启动进程60秒后不使用接口,从而回收任何过多的瞬态内存使用 .
这意味着如果从上次开始回收进程,那么向管理界面提交请求可能会稍微减慢,因为所有内容都必须再次加载,但由于它是管理界面而不是公共URL,因此通常可以接受的 .