我有一个 Python 应用程序,我通过 IIS 使用它来提供服务WSGI接口。我已将其放在自己的应用程序池中,这样我就可以随时重新启动 Python 解释器而不会干扰其他应用程序。我不希望任何给定时间有超过 2 或 3 个人访问它。我有什么理由将最大工作进程数更改为大于默认值 1?
另外,在决定分配多少个工作进程时,我应该考虑什么标准?这仅仅是并发性问题还是还有其他因素?
答案1
我认为一个工作进程就足够了。考虑一下,当另一个请求正在被处理并且进程中没有其他可用线程时,请求会被排队,而不是被拒绝(我假设该进程是多线程的)。
答案2
这取决于你的应用程序命中率。默认情况下每个应用程序池对应一个工作进程。如果你增加工作进程的数量超过一个,那么它被称为网络花园,为此您需要注意是否存在进程内会话管理。