【发布时间】: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