调优mod_wsgi守护进程模式

21 投票
2 回答
11657 浏览
提问于 2025-04-16 06:59

我正在使用Apache的mod_wsgi在守护进程模式下运行wsgi应用程序。我的配置中有这些设置:

WSGIDaemonProcess app processes=2 threads=3 display-name=%{GROUP} 
WSGIProcessGroup app

我该如何找到进程和线程的最佳组合和调整方法呢?

编辑:下面这个链接对我很有帮助:https://serverfault.com/questions/145617/apache-2-2-mpm-worker-more-threads-or-more-processes/146382#146382

现在,我的问题是:如果我的服务器性能已经很好,满足我的需求,我是否应该减少线程数量以提高稳定性和可靠性?我能把线程数量设置为1吗?

2 个回答

1

你可以尝试不同的基准测试,这样可能会更有效。你可以使用Apache基准测试命令,来大致了解一下你的配置表现如何。很多调整的效果会根据你的网页应用是更依赖CPU还是IO而有所不同。此外,性能还会受到你所使用的服务器配置等因素的影响。

13

你也可以在ServerFault上找到更多信息。例如:https://serverfault.com/questions/145617/apache-2-2-mpm-worker-more-threads-or-more-processes

这是另一个关于这个话题的好资源:http://code.google.com/p/modwsgi/wiki/ProcessesAndThreading#The_mod_wsgi_Daemon_Processes,里面简单描述了各种选项,包括设置线程数为1。

我还没有尝试过这个,但听起来其实没什么太大关系。支持多线程和多处理器都是很成熟的技术。不过以我的经验(可能你的也是),去掉线程这个额外的担忧是值得的——即使从理论上讲它是非常稳定的。

撰写回答