当我增加MinSpareServers时,CGi / FastCGI会有所改进吗?

在Apache / cPanel中,我可以设置MinSpareServers和MaxSpareServers的数量。 但是闲置过程的用户是没有人的。

我正在运行SuPHP,PHP正在CGI下运行。 那么,如果我为我的繁忙网站增加最小/最大备用服务器号码,它会影响CGI / SuPHP吗? 还是只有在没有人的情况下才能提高DSO的速度?

(我使用Nginx作为代理来处理静态文件)

如果我可以在Google上search这个问题,我不需要在这里问。

据我所知,“备用”服务器的数量正如名字所暗示的那样,apache服务器预先准备好的服务器进程的数量可以满足未来的需求。(我假设这里有一个“MPM-prefork”configuration)

一般来说,如果这样做会使服务器效率提高或使服务器变得非常困难,这取决于很多因素:服务器的活动types,使用模式,连接的数量和持续时间,内存处理每个请求所需的大小,存活设置等等。

作为一般的规则,考虑有太多的备用服务器是浪费,因为你会让你的apache使用内存来准备好一些进程,以防万一他们需要时,即使他们不需要,也许reduncing内存可用于正在运行的进程。

另一方面,备用服务器太less,迫使客户端等待Apache进程创build一个新的来处理请求,启动并运行,然后将连接传递给它,以便继续工作。

底线:你可能不得不调整比你提到的两个参数更多的参数,你必须通过确定哪些设置最适合你的情况来平衡它们。

只要提一下它,因为你可能会发现它很有用,请查看“服务器状态”页面(你可以从命令行使用apachectl来查看,也可以查看手册页):它会显示很多细节关于正在运行的进程的状态,所以您可以判断是否有太多或太less的时隙服务请求。

同时检查您的使用模式是否会从保持活跃状态​​中受益,以便来自同一个客户端的短时间和近时请求得到同一个工作进程的处理,而不必在每个请求上build立新的连接。 无论如何,不​​要在存活时间上过多,否则工作进程在接受新客户之前将不得不等待很长时间,最终用尽空闲时隙来处理新的请求。

正如你所看到的,有很多空间需要调整,但原因很简单:每种情况都不一样,所以你必须知道旋转哪个旋钮,然后尝试一下。

HTH

这里是Min / MaxSpareServers指令在官方Apache2.2文档中描述的链接。

MaxSpareServers指令

MaxSpareServers指令设置所需的最大空闲子级服务器进程数。 空闲进程是不处理请求的进程。 如果有超过MaxSpareServers空闲,那么父进程将杀死多余的进程。 只有在非常繁忙的网站上才需要调整此参数。 将这个参数设置为大数字几乎总是一个坏主意。 如果您尝试将值设置为等于或低于MinSpareServers,则Apache将自动将其调整为MinSpareServers + 1。

MinSpareServers指令

MinSpareServers指令设置所需的最小数量的空闲子服务器进程。 空闲进程是不处理请求的进程。 如果less于MinSpareServers空闲,则父进程将以最大速率1每秒创build新的subprocess。 只有在非常繁忙的网站上才需要调整此参数。 将这个参数设置为大数字几乎总是一个坏主意。

在同一个页面中,对机制是什么进行了很好的描述:

一个控制过程负责启动监听连接并在到达时提供服务的subprocess。 Apache总是试图维护几个备用或空闲的服务器进程,这些进程已经准备好接收传入的请求。 通过这种方式,客户端不需要等待新的subprocess在被请求之前被分叉。

StartServers,MinSpareServers,MaxSpareServers和MaxClients调节父进程如何创build子服务器请求。 一般来说,Apache是​​非常自我调节的,所以大多数站点不需要从默认值调整这些指令。 需要提供超过256个同时请求的站点可能需要增加MaxClients,而内存有限的站点可能需要减lessMaxClients以防止服务器发生颠簸(将内存交换到磁盘并返回)。 有关调优stream程创build的更多信息,请参阅性能提示文档。