关于256M RAM服务器上的MPM Prefork MaxClient参数

我有一个关于VPS服务器上的Apache MPM Preforkconfiguration的问题。

一个slicehost文章,他们build议将MaxClients设置为40,如果我的虚拟服务器上有256MB RAM的话。 ( 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(!),我不会进行任何交换,并且networking服务器应该更快(或者我错了吗?)

所以,我不明白他们为什么build议40。

谢谢

您可以拥有的MaxClients的数量纯粹取决于您的网站的性质。

如果您的服务大部分是静态内容,那么Apache不会占用过多的内存,并且可以将40个(或更多)设置为MaxClients。

另一方面,如果你确实有一些内存繁重的东西在运行(比如你运行了一个像Drupal这样的CMS或者WordPress的博客),那么每个进程的内存需求将大大增加,并且MaxClients的值会下降。 有了这些繁重的PHP应用程序,单个进程可以轻松地使用从10到? 兆字节的RAM。

他们可能会build议,因为每个请求50 MB内存不是常见的事情。

你可能应该检查,如果你可以摆脱你正在使用的任何模块。 另外检查你是否可以将任何mod_(如mod_php)移动到fcgid。

在完成之后,您可能只剩下线程安全模块,并且可以安全地切换到工作者MPM,这可能会解决您的所有性能问题。