调优mod_wsgi守护进程模式
我正在使用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。
我还没有尝试过这个,但听起来其实没什么太大关系。支持多线程和多处理器都是很成熟的技术。不过以我的经验(可能你的也是),去掉线程这个额外的担忧是值得的——即使从理论上讲它是非常稳定的。