我可以限制在 IIS 7 上每个网站运行的 php-cgi.exe 的数量吗?

我可以限制在 IIS 7 上每个网站运行的 php-cgi.exe 的数量吗?

我不确定哪个帖子最好,所以我在这里和http://webmasters.stackexchange.com

如果这篇文章与此更相关,我将删除其他内容。

我的 Web 服务器内存有点问题。我的 Web 服务器是 Windows 2008 RC2 IIS 7.5,已安装并运行 Fast CGI,全部为最新版本。

我的这台服务器上运行着多个 Wordpress 网站,但它们并不是同时运行的;目前服务器负载/流量并不是很高。

然而,当其中一些运行时,即使只有我一个人在网站上,它们也会产生多个 php-cgi.exe 实例来处理我的“浏览”。

需要注意的几点:

  • 我在每个 Wordpress 网站上都安装了 Hyper Cache,而且看起来运行良好。
  • 我知道 PHP-CGI.exe 实例只能在需要时保持活动状态。

例如:一个几乎没有内容且插件(Hyper Cache 和 Google Analytics)最少的 Wordpress 网站:

  • w3wp.exe 实例的大小约为 10MB
  • 5 x php-cgi.exe,每个大约 9MB

首次运行时,占用 55-60MB。我觉得有点极端。另一个网站首次启动时的情况基本相同,但会生成 8 个 php-cgi.exe 实例。换句话说,我预计这种使用情况来自 ASP.NET,而不是 PHP。

我可以将 php-cgi.exe 限制为每个网站一个实例,并让其处理该网站的所有请求吗?

我还应该提到一点,我正在运行 PHP 5.2.17。如果我升级到 PHP 5.3.*,这个问题会消失吗?(虽然这不会破坏某些网站,但我可以忍受)

我唯一的解决办法是将它们移到 Linux 机器上吗?或者这样做会不会遇到同样的问题?

感谢您的时间和帮助。

答案1

设置maxInstancessystem.webServer/fastCgi/application 部分您的配置中您希望允许每个 fastCGI 进程的数量应用程序池(不是每个网站)。

相关内容