PHP在IIS7上运行得非常慢。 需要帮助优化我们的configuration

我们在Windows 2008基于云的服务器上运行基于PHP的Web应用程序。 这个应用程序在我们的环境之外运行良好(例如一个不同的IIS服务器),但是在我们的环境中非常慢。 基于谷歌search这是一个比较常见的情况。

我通过IIS web部署方法安装了PHP和MySQL …

这是我们的设置:

  • Windows 2008 Server企业版SP2(32位)
  • 微软IIS / 7.0
  • MySQL客户端版本:mysqlnd 5.0.8-dev – 20102224 $ Revision:321634 $
  • PHP扩展:mysqli
  • 更新为IIS 7.0 FastCGI
  • 用于PHP 5.3的Windows Cache Extension 1.1

我曾经在其他地方看过,ipv6可能是一个问题,所以我在networking适配器上closures了它。

该应用程序使用:localhost作为其连接

对我来说很简单,因为我对这些组件中的一些有点绿色…另外,重写PHP应用程序或修改它不是一个选项。 我相当确定我们的configuration是问题。

这里有一个很好的介绍在Windows上的PHP

本文build议您获取Windows的非线程安全的PHP二进制文件。 你看过吗?

您是否使用Microsoft Web安装程序或configurationphp等。 自己呢?

Wincache似乎也是一个好主意: http ://www.iis.net/download/WinCacheForPhp

基于这个博客文章, 修正:php mysql非常慢 ,我确定在我的情况下,问题是MySQL名称parsing的结果。 请参阅此文档以获取完整的文档,但是您应该可以通过修改向my.ini添加以下内容并重新启动mysqld来解决此问题。

 # Do cache host names. skip-host-cache # Do not resolve hostnames. All hostnames are IP's or 'localhost'. skip-name-resolve 

你的回应时间应该会大大增加。 不幸的是,您将不再能够使用主机名连接到MySQL,而是需要使用IP地址。

我有一个类似的问题。 从iis6迁移到iis8,在iis8上非常非常慢!

解决scheme:在应用程序本身中,将其指向127.0.0.1作为mysql服务器名称(而不是localhost)。 似乎有解决问题或与使用主机名localhost相关的IPv6问题。

127.0.0.1解决。