Apache的mod_status输出是否能够帮助您调整Apache preforkconfiguration?
例如,使用Apache的mod_status,我明白了这一点
这是否提供了什么我的Apache prefork设置应该是什么 – 特别是,MinSpareServers,MaxSpareServers,MaxClients和MaxRequestsPerChild? 或者这个数据是不相关的?
你要确保你的MaxClients设置在典型的峰值之上(这听起来像是你的情况是10,但是你看到了一次达到86的爆发,所以也许150会允许一些喘息的空间,更大的爆发)。 如果发生这种情况并且用户体验缓慢,这种方式不会耗尽连接。 确保你的服务器上有足够的RAM来支持你设置的任何MaxClients值(满载时需要的RAM =每个Apache进程使用的RAM乘以MaxClients)。
如果您不介意捆绑内存,您可以告诉Apache让更多的服务器运行,所以当有更多请求进来时,不需要分叉(创build),方法是将MinSpareServers增加到等于典型峰值的数字(或者接近那个地方)。 另外,如果您不介意捆绑内存,您可以将MaxSpareServers设置为MaxClients,并让Apache决定是否保留这些额外备件是一个好主意。 他们保持的副作用将是一个性能增益。 值得注意的是,即使你不认为你需要RAM,操作系统也会使用未使用的RAM来提高性能,例如caching,所以在捆绑RAM时要考虑这一点。
MaxRequestsPerChild并不是一个很好的性能方面的事情,而是帮助防止意外内存泄漏(请参阅http://httpd.apache.org/docs/2.2/mod/mpm_common.html#maxrequestsperchild )。