我在运行 LAMP 的 AWS EC2 t2.micro 实例上安装了 WordPress。
该网站还通过 W3TC 插件连接到 Cloudfront CDN。
除登录页面 (其 TTFB 为 31 秒) 外,网站所有页面的页面加载时间约为 2-4 秒。
当我在 pingdom 上运行该页面时,它说服务器是唯一的问题,并且需要 31 秒才能响应。
我已经使用 curl 通过命令行进行了检查并得到了相同的响应时间。
$ curl -s -w %{time_total}\\n -o /dev/null http://www.wp360.com/my-account
既然我已经发现了这个问题,我不知道现在该做什么才能解决这个问题。
有什么建议么?
答案1
考虑到页面主题,这有点讽刺 ;) 我有一些想法太长,不适合评论,但实际上并不是答案,所以请大家尽量不要投反对票。如果排除法能找到答案,那么它就很有价值。
我注意到,根据网页测试如果发生缓存未命中,即使是静态资源的下载速度也会非常慢 - 例如,下载 9kB 的 woocommerce.min.css 需要 15 秒。这表明服务器出了问题。检查 CloudWatch 统计数据,检查 CPU 积分、EBS 积分是否用完,或者是否有任何其他异常。检查 CPU 使用率、网络等。报告任何异常情况。
如果您可以忍受几分钟的停机时间,请在 AWS EC2 控制台中重新启动您的实例。这将使您使用相同的硬件并重新启动操作系统,但可能无济于事。接下来停止并启动您的实例。这会将您转移到新硬件并重置您的 CPU/EBS 信用,这可能会有所帮助 - 再次,可能没有,但值得先尝试简单的事情。
我假设您不能弄乱生产服务器,但您使用的是 AWS,因此测试服务器很便宜。通过快照克隆您的实例,如果数据库在 RDS 中,则克隆数据库 - 无论是同一服务器上的另一个数据库还是新服务器,随您喜欢。如果数据库在服务器上,那就没问题。确保重现问题。如果没有……那么,这是有趣的信息。
接下来禁用所有插件。如果此操作解决了问题,请启用它们,直到问题再次出现。如果此操作无法解决问题,请尝试使用 2016 版主题。如果此操作无法解决问题,请尝试全新安装 Wordpress。如果此操作无法解决问题,请报告您发现的任何有趣信息,因为您将有更多信息可以分享。使用新信息编辑您的问题,如果您想引起我的注意,请在该答案的评论中标记我的名字。