TTFB 和 TTLB 详解

TTFB (Time-to-First-Byte) 是指:从第一个请求发出到测试工具接收到服务器应答数据的第一个字节之间的平均时间。 TTLB (Time-to-Last-Byte) 是指:从第一个请求发出到测试工具接收到服务器应答数据的最后一个字节之间的平均时间。

我们打开浏览器按 F12 快捷键,打开浏览器的开发者工具。在 NetWork 标签页任意选择一个请求,查看请求的 Timing 选项卡,该选项卡展示了选中请求在各个部分的耗时,如下图:

浏览器查看TTFB

注意,上图中请求主要耗时为绿色条部分,即 Warting(TTFB),这就是本文将要讨论的术语。

TTFB

什么是 TTFB?

TTFB 是 Time to First Byte 的缩写,指的是浏览器开始收到服务器响应数据的时间,即浏览器收到服务端响应的第一个字节的时间。

TTFB 是反映服务端响应速度的重要指标,对服务器来说 TTFB 时间越短,就说明服务器响应越快。

TTFB = 后台处理时间 + 重定向时间

TTFB 时间多长算长?

因为每个服务器的硬件和网络环境都不尽相同,每个服务器的 TTFB 时间也不相同。如果想知道你的服务器优化可以到什么程度,大家可以上传一些静态的 HTML 页面到服务器,然后打开这些静态页面,看一些这些页面的 TTFB 时间,大多数服务器的 TTFB 时间都在 50 ms 以下,这个时间就是我们优化时候可以追求的时间。

根据我们的测试,TTFB 时间如果超过了 500 ms,用户在打开网页的时候就会感觉到明显的等待。我么可以把 500 ms 以上认为是 TTFB 时间过长。

TTFB 过长的原因及优化

对于动态网页来说,当服务器收到用户打开一个页面的请求时,首先要从数据库中读取该页面需要的数据,然后把这些数据传入到模版中,模版渲染后,再返回给用户。由于查询数据和渲染模版需要需要一定的时间,在这个过程没有完成之前,浏览器就一致处于等待接收服务器响应的状态,等待时间越长,TTFB就会越长。

下面总结了导致浏览器等待过长的原因:

(1)硬件资源,如果服务的性能较差,TTFB 时间就会比较长。如果条件允许,可以提升硬件配置。

(2)优化没做好,如每次用户请求都需要查询数据库,没有采用缓存等机制,也会导致 TTFB 时间过长。使用一些缓存插件可以把 SQL 查询结果缓存起来,把几十次查询结果转换为几次;还有一些缓存插件可以直接把用户所请求的页面静态化,用户打开网页时,相当于直接从服务器上下载了静态页面。

(3)网络环境,如果服务器到用户之间的网络不好(比如,服务器在欧洲,用户在中国,用户打开网页的时候,请求需要跨越千山万水才能达到服务器),服务器接收到用户请求的时间过长,也是导致 TTFB 时间过长的原因。可以使用一个 cdn,把页面同步到离用户比较近的 CDN 节点上,也是一个不错的解决办法。

(4)Cookie太多,每次请求 Cookie 都要发送到服务器,如果 Cookie 太多,请求包变大,服务器处理 Cookie 耗时增多,这也是导致 TTFB 时间过长的原因之一。可以通过修改应用程序,删除一些不必要的 Cookie,或者精简 Cookie 内容,缩短 Cookie 的有效期等。

(5)页面大小、复杂程度,页面越大越复杂,也多导致 TTFB 过长。

(6)环境配置的正确与否,如:没有配置 Nginx 开启静态资源缓存等。

(7)DNS 解析的连通情况

(8)CDN 的性能

TTLB

什么是 TTLB?

TTLB 是 Time to Last Byte 的缩写,表示从发送网络请求到接收到最后一个字节的时间。TTLB 指标可以帮助我们评估网络请求的响应速度,通常用于衡量网站或应用程序的性能。TTLB 是一个用来衡量网络性能的指标。

TTLB 时间过长原因及优化

如果你遇到 TTLB 时间很长的问题,这通常是指从发送请求到接收到最后一个字节的时间。以下是一些可能导致TTLB时间长的原因以及优化的建议:

(1)网络延迟:网络延迟是TTLB时间延长的一个常见原因。你可以尝试使用CDN(内容分发网络),以及优化网络配置和设置,以减少网络延迟。

(2)服务器响应时间:服务器响应时间也会影响TTLB时间。确保服务器配置和性能良好,以及优化服务器端代码和数据库查询,以提高响应速度。

(3)静态资源优化:如果网页中包含大量的静态资源(如图片、CSS和JavaScript文件),这些资源的加载时间也会影响TTLB时间。你可以使用压缩和缓存技术来减小静态资源的大小,并使用CDN来加速静态资源的传输。

(4)并发连接限制:如果服务器设置了并发连接限制,这可能会导致TTLB时间延长。你可以检查服务器配置,并根据需求适当调整并发连接限制。

(5)数据库优化:如果网页或应用程序依赖于数据库查询,慢查询或不充分优化的查询可能会导致TTLB时间延长。你可以优化数据库查询语句、添加索引,以及使用缓存技术来提高数据库性能。

(6)缓存技术:使用适当的缓存技术可以减少对服务器的请求,从而减少TTLB时间。你可以使用浏览器缓存、CDN缓存、服务器端缓存等来缓存静态内容和动态内容。

综上所述,优化TTLB时间需要综合考虑网络、服务器、资源和数据库等方面。通过优化相关的配置和代码,以及使用适当的技术和工具,可以有效减少TTLB时间,提高网页或应用程序的响应速度。

生活总会给你答案的,但不会马上把一切都告诉你。只要你肯等一等,生活的美好,总在你不经意的时候,盛装莅临。
0 不喜欢
说说我的看法 -
全部评论(
没有评论
关于
本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,请来信告知:hxstrive@outlook.com
公众号