【发布时间】:2021-07-12 09:57:04
【问题描述】:
晚上好,
绝对机智结束,希望有人能救我!我正在将一些 PHP 应用程序迁移到 Azure。我正在使用:
- 基于 Linux 的应用服务运行 PHP 7.4(2 个 vCPU,8Gb RAM),每月费用为 94 英镑。
- Azure Database on MySQL 8.0(2 个 vCPU)每月 114 英镑。
我的 PHP 应用程序运行良好,每页加载时间不到 1 秒。然而,Wordpress 的性能很糟糕。我将从 1 秒的页面加载时间缩短到 10 秒左右,尤其是在后端。我已经阅读了所有 Azure 指南,并实现了以下明显要点:
- 应用服务和 MySQL 安装在同一个数据中心
- 应用服务设置为“始终开启”
- 连接重定向设置为首选并测试为工作
同样的应用程序在一个非常基本的每月 10 英镑左右的共享主机包上运行良好。我今天也在 Amazon Web Services 中尝试了相同的设置,页面加载恢复到一秒左右。
在 Chrome 控制台中,延迟在 TTFB 中。我已经禁用了所有插件,但没有一个插件能产生巨大的影响。每个都增加了大约一秒钟的页面加载,当页面需要多次数据库调用时,这向我暗示了一个一致的问题。
Azure 和糟糕的 Wordpress 性能是怎么回事?!还有什么我可以调查或尝试的吗?真的很想继续使用 Azure,但无法应对因性能受到影响而大幅增加的成本。
【问题讨论】:
-
如果您将一个非常简单的 HTML 页面放在同一个域/主机上,页面加载时间如何? (即延迟可能是网络级别而不是应用程序 - 慢速 DNS 服务器等?)如果您扫描此 WP 站点,Google Chrome 开发工具中的 GTMetrix.com 或 Lighthouse 选项卡表明导致速度变慢的原因是什么?
-
只是一个带有简单 PHP 调用的 HTML 页面很棒。那边没有问题。 Lighthouse 和 GTMetrix 都显示出异常缓慢的 TTFB,服务器响应至少需要 6 秒左右。
-
对于 Wordpress 需要生成几乎任何页面的大量 sql 查询来说,与数据库服务器的连接听起来可能太慢了...您的数据库服务器是否在同一个数据中心?为 Wordpress 优化往往与为其他 php 应用程序优化有很大不同,因为它可能会占用大量数据库。
-
如果您非常热衷于留在 Azure 并且该网站没有定期大幅更新,那么解决方法是将其置于 CloudFlare 之后(我记得他们与 Azure 集成)和额外的缓存和 CDN 能力可能会加快速度,使其变得宜居。或者,我会认真考虑优化/专业的 wordpress 托管。
-
感谢史蒂夫的这两个建议。网站位于 Cloudflare 后面,它在前端确实有很大帮助,但任何需要实时数据的页面(例如约会时间的日期选择器)仍然很糟糕。他们都在同一个数据中心。也许你是对的,Azure 还没有达到 Wordpress 的水平!
标签: php wordpress azure performance