第一个字节的时间非常长

问题描述 投票:0回答:3

网站需要很长时间才能回复。这个问题不仅来自我的笔记本电脑,还来自其他数十台笔记本电脑。 chrome devtools 将 8 秒报告为 TTFB。其余的图像、JavaScript 都在一两秒内下载完毕。

但是当我运行curl命令时,我可以在不到一秒的时间内获取整个文档。据报道,TTFB 也不到一秒。以下是我使用的命令 -

curl -o a.html -H 'Cache-Control: no-cache' -s -w "Connect: %{time_connect} TTFB: %{time_starttransfer} Total time: %{time_total} \n" https://gruhasutram.com

我尝试解决此问题的网站是 https://gruhasutram.com。我正在使用 woocommerce 插件在 godaddy 上运行这个。请注意,我这里引用的网页是一个静态网站,不涉及任何 API 或数据库调用。

如果有人能帮我回答以下问题,不胜感激

  1. 为什么curl响应速度更快?这不就说明,服务器本身响应速度更快了?
  2. 网站可能存在什么问题?我们已经优化了图像、JavaScript(仍然存在机会)。但为什么第一个字节需要8秒呢?

谢谢, 普拉萨那

performance webserver
3个回答
0
投票

在查看网站的网络报告时我注意到,有两件事导致速度变慢:

  1. 大图像,>550kb,下载和检索需要很长时间。也许您可以尝试压缩它们或使用其他文件类型,我会推荐 WebP 用于此用例。

  2. 您用于资源(尤其是字体)的服务器的响应时间非常慢,浏览器等待服务器响应的时间比实际下载资源的时间要长,时间太长。要解决此问题,可以尝试迁移到 secureservercdn.net 之外的其他服务器/CDN,例如 Cloudflare CDN。或者,您可以将资产保存到托管网站的同一台计算机/服务器上(但我猜您一开始没有这样做是有原因的)。


0
投票

与图像大小无关。 Time to First Byte 是 HTML 文档从服务器到客户端所花费的时间。

其他一些评论讨论了图像和字体托管。这会影响网站速度,但不会特别影响 TTFB(它不受这些问题的影响)。

影响时间的一些因素是:

  1. wordpress组件数量
  2. 服务器上可用的资源量
  3. 服务器与客户端之间的距离

我注意到在builtwith中,你有相当多的wordpress插件: https://builtwith.com/detailed/gruhasutram.com

删除任何不需要的内容可能会有所帮助。使用 CDN 的建议是一个很好的建议,但您需要一个能够缓存 HTML 正文的 CDN,以加快 TTFB 的速度。这会大大加快速度,但需要良好的配置以确保您不会缓存用于购物车、结帐和其他功能的 URL。

我注意到你的卷曲速度相当快,但是当我使用chrome时,如果我使用一个参数(比如最后的?123=123,每次都改变),需要8-9秒。我无法在卷曲中重现这一点。我猜这与您的服务器处理会话/cookie 的方式有关。每次运行curl时,它不需要考虑cookie。这可能意味着它更快。相比之下,带有 cookies/session 的 chrome 运行速度较慢。


0
投票

高 TTFB 通常与未通过 CDN 提供 HTML 文档有关。不确定在这种情况下您是否使用 CDN,但大多数网站仅将 CDN 用于图像、脚本和 css 文件。

如果您使用 Cloudflare 进行缓存,请添加缓存规则并选择

Cache everything
(https://developers.cloudflare.com/cache/how-to/cache-rules/examples/cache-everything/)

如果您想从全球 40 个地点快速检查您的 TTFB,我在这里构建了一个免费工具(无需注册或发送电子邮件):https://pagevitals.com/free-tools/ttfb-tester/

如果您使用此功能,您将能够快速查看这是您遇到的本地问题还是一般问题。

© www.soinside.com 2019 - 2024. All rights reserved.