【问题标题】:PHP On Windows: Blank .php files load slowly, blank .html files load quickly [closed]Windows上的PHP:空白.php文件加载缓慢,空白.html文件加载快速[关闭]
【发布时间】:2012-12-10 16:34:19
【问题描述】:

我正在开发一个最近转换为 PHP 的网站(以前是 VB.net),而新的 PHP 网站运行速度非常慢(在此处插入 PHP 笑话)。

www.silhouetteonlinestore.com

所以我做的第一件事就是优化我的代码,在我能找到的每一个地方进行调整,但它对加载时间的帮助可能超过 50 毫秒。然后我在 web.config 中取消了 URL 重写,这确实将加载时间缩短了一半,但仍然无法接受。

然后我发现了这个:

  • www.silhouetteonlinestore.com/php/test.php(运行缓慢)
  • www.silhouetteonlinestore.com/php/test.html(运行速度很快)
  • www.silhouetteonlinestore.com/php/test.aspx(运行速度很快)

以上三个文件都运行相同的静态 HTML 代码,标签中带有单词“test”,但 PHP 运行缓慢!具有相同配置的站点的测试版本,在同一台服务器上,运行速度极快,因此无论问题是什么,似乎都因站点上的额外流量而加剧。但我们并没有数百万人访问该网站或其他任何东西——我们在任何特定时刻平均有 300-500 名用户浏览该网站。

配置:

  • IIS 6.0 上的 PHP 5.2.17,使用 FastCGI
  • 托管在 Windows 2008 服务器上,配备四核 AMD Opteron(tm) 处理器 2374 HE 2.20 GHz
  • 8 GB 内存
  • 64 位操作系统

我在服务器管理方面不是很有经验,因此非常感谢任何帮助。我的第一个预感是升级到 PHP 5.4.4,因为那里可能存在兼容性问题,所以我将继续努力;不久前我尝试这样做,但无法使其正常工作(phpinfo()显示某些设置仍然认为它是5.2,并且我认为有一个未设置的环境变量或其他东西)。

让我知道我遗漏了哪些其他重要信息;非常感谢您的宝贵时间!

【问题讨论】:

  • PHP 在大多数服务器上运行良好,因此很可能是 PEBKAC 情况。服务器配置与此站点无关。试试 serverfault,也许吧。
  • "PHP 5.2.17 on IIS 6.0" 可能是你的问题。你不能在 Nginx 或 Apache 上运行(或至少测试)吗?
  • @DaveRandom 我可以在 Apache 上测试,但是如果没有网站流量就很难判断是否有问题;我们当前的测试配置效果很好,只是不是实时配置。
  • 你能至少运行一个仍然受支持的 PHP 版本吗?
  • @MichaelHampton 正在更新PHP。

标签: php performance iis-6


【解决方案1】:

要找出导致问题的原因,您应该尝试以下操作:

  1. 您需要查看 PHP 严格、通知、错误和警告消息。您可以通过编辑 PHP.ini 来做到这一点。请参阅 PHP 手册的The errorfunction section。请注意,我实际上会编辑 php.ini 文件而不使用 ini_set(),因为该问题可能在第一次调用 ini_set() 发生之前发生。
  2. 安装PHP Manager for IIS 并查看它添加到IIS 管理器的部分中的警告。它会对您的 php.ini 文件有什么问题提出一些建议。我从未见过它检测到显着降低 PHP 速度的问题,但它肯定有可能。
  3. 使用Process Monitor 分析对 php.exe 的调用,看看是否有任何失败的文件调用等。

【讨论】:

  • 好主意。我会看看这些,看看我能从他们身上学到什么。谢谢!
猜你喜欢
  • 1970-01-01
  • 2014-10-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-31
  • 2014-02-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多