我对 VPS 服务器上的 Apache MPM Prefork 配置有疑问。
一篇slicehost的文章,他们建议如果我的虚拟服务器上有256MB RAM,则将MaxClients设置为40。(http://articles.slicehost.com/2010/5/20/configuring-the-apache-mpm-on-debian)
但是由于每个客户端请求使用大约 50MB RAM 内存,因此必然会发生交换,导致我的 VPS 速度变慢。
PID RSS COMMAND
10146 45944 /usr/sbin/apache2 -k start
10147 52528 /usr/sbin/apache2 -k start
10150 49680 /usr/sbin/apache2 -k start
10151 48756 /usr/sbin/apache2 -k start
我发现如果我将 MaxClients 设置为 4 (!),就不会进行任何交换,并且 Web 服务器应该会更快(或者我错了?)
所以,我不明白为什么他们建议 40。
谢谢
答案1
答案2
他们可能会这样建议,因为每个请求 50 MB 内存并不常见。
您可能应该检查是否可以删除正在使用的任何模块。还请检查是否可以将任何 mod_(如 mod_php)移至 fcgid。
完成此操作后,您可能只剩下线程安全模块,并且可以安全地切换到 worker MPM,这可能会解决所有性能问题。