在工作中,我们设置了 Windows Server 2008 R2 作为 Web 服务器。我们安装了 IIS,并使用 Web 平台安装程序安装了 PHP。
现在的问题是,服务器的性能相当差。该应用程序在许多不同的机器上运行良好(我尝试过在 Windows 7、OSX、Linux Ubuntu 甚至另一台 2008 R2 服务器上)。页面正在加载,但需要大约 2-3 秒,而所有其他机器在大约 200-400 毫秒内就准备好了。我试图调试正在发生的事情,看起来服务器只是在每个请求上“等待”2 秒钟。我查看了 Firebug 和 Chrome 的时间线,它们显示它们在几毫秒内发送请求,然后它们等待 2 秒钟,然后服务器才会发回响应。
是什么原因导致这 2 秒?通常我会说“应用程序运行缓慢”,但考虑到我在很多其他机器上试用过,应用程序运行良好,我不认为这是问题所在。
所以我希望有人能帮助我,或者至少推动我朝着正确的方向前进。
编辑: 通过将所有数据库主机设置为 127.0.0.1 而不是 localhost,我能够减少大约一半的“延迟”时间。不知道为什么,但它确实似乎加快了速度。我爱上了微软服务器……
编辑2: 我已将我的 ini 文件上传到这里,请查看是否有任何内容 https://gist.github.com/Crinsane/6577840
提前致谢!
答案1
IIS 中是否启用了 FastCGI?还要安装并启用 Wincache。这很有帮助。
可能是 PHP.INI 配置问题。既然您提到它在其他机器上运行良好,请使用其他机器上的 PHP.INI 文件。
答案2
您的配置是否http://php.net/manual/en/function.sleep.php. 或任何变体?如果使用,您可以在所有文件中搜索。这应该会延迟 2 秒的访问,据我所知,不同操作系统版本的情况不同。或者通过尝试在所有服务器上部署相同的站点版本再次测试,然后查看它是否具有相同的延迟。这也可能是数据库服务器的延迟(如果您使用不同的数据库源),您也可以测试它。
请稍后查看,因为您在混合环境中使用 php(如您所解释的那样使用 IIS) http://www.iis.net/learn/application-frameworks/install-and-configure-php-on-iis/how-to-configure-and-optimize-the-microsoft-web-platform-for-php。