Cloudflare 和 Webpagetest 之间的性能结果不一致

Inconsistent performance results between Cloudflare and Webpagetest

提问人:alancc 提问时间:11/9/2023 更新时间:11/17/2023 访问量:46

问:

我安装了 Nginx 作为反向代理来与 Apache 一起使用。然后我尝试测试和比较 Nginx 和 Apache 的性能。

一个性能数据来自“Analytics & Logs > Performance > Average Response Time without Argo(Last 48 hours)”。这是 Cloudflare 和我的服务器之间的响应时间。

结果:

Apache: 810ms
Nginx: 1220ms

另一个性能数据来自 Webpagetest。我使用以下脚本来执行 Nginx 测试:

setDns www.sample.com ##.##.##.##
navigate https://www.sample.com:443

以及以下 Apache (Apache 侦听端口 8443):

setDns www.sample.com ##.##.##.##
navigate https://www.sample.com:8443

那么在大多数情况下,Nginx 会比 Apache 更好

因此,来自两个来源的性能数据不一致。为什么?

性能 Apache Nginx Cloudflare

评论

0赞 user3112728 11/18/2023
哦,天哪,性能调优可能涉及很多内容。我相信你认为你已经很好地安排了情况。我假设您的分析中没有包括互联网流量。一旦你开始使测试中的差异越来越小,根本原因通常会弹出来。

答:

1赞 Ryan 11/17/2023 #1
  • Cloudflare Analytics 与 Webpagetest:Cloudflare 的测量结果可能更能代表服务器性能,因为距离更近,网络路径更一致。Webpagetest 提供了更广泛的客户端视角,其中包括其他变量。

  • 内容类型影响:所提供的内容类型起着至关重要的作用。据我所知,Nginx 针对静态内容进行了优化,在这种情况下可以胜过 Apache,而 Apache 可能会以不同的方式处理动态内容。

  • 外部因素:服务器性能可能会受到您无法控制的因素(例如用户 ISP 的性能)的显着影响,从而为性能指标增加了另一层可变性。

评论

0赞 alancc 11/18/2023
我使用WP Rocket作为WordPress的缓存插件,在这种情况下,所有WP页面都成为静态内容而不是动态内容吗?根据我的测试,Nginx 还会缓存 WP 页面
0赞 Ryan 11/22/2023
WP Rocket 通过缓存页面来帮助优化 WordPress,这意味着经常访问的页面存储为静态内容以加快加载速度。这不会使所有页面都静止不动,因为它可以巧妙地处理动态元素,如表单。它也是可自定义的,允许您决定缓存的内容。当与 Nginx 的服务器级缓存配对时,此设置可以显着提高站点性能。但是,在缓存与动态内容需求之间取得平衡非常重要,以确保您的网站按预期运行。如果您不确定,请禁用任何缓存机制并开始逐个消除缓存机制。