性能

什么是TTFB?

又称: time to first byte
定义

TTFB measures the time from a request being sent to the first byte of the response arriving. It combines network latency with server processing time, which is why it is dominated by distance for a fast application and by the application for a distant one.

为什么TTFB很重要

它结合了网络延迟与服务器处理时间,因此对于快速应用,它主要由距离决定;对于远距离应用,它主要由应用性能决定。它直接计入 Core Web Vitals。

TTFB的实际应用

当您运行服务器时,TTFB是每次请求后您在curl、浏览器时间标签和日志中看到的。较高的TTFB通常意味两件事之一:客户端离实例较远,或者应用程序响应慢。更改架构以将应用程序移近,或分析请求路径以找到响应慢的处理程序。若弄错了,则用户会感觉每个页面都慢,且核心Web Vitals受影响。

人们对TTFB常见的误解

一个常见错误是将TTFB纯粹视为网络指标,并在其高时指责主机。TTFB包括服务器处理时间。在指责网络之前,请检查应用程序:繁重的查询或配置错误的代理可能拉高TTFB。始终拆分测量:对静态文件测试与应用程序端点测试进行区分,以隔离原因。

TTFB —— 常见问题

什么是好的TTFB?

没有一个数字适用于所有情况,因为TTFB取决于距离和应用。对于同一大陆上的快速应用,通常小于100毫秒。慢速数据库可能将其推至数秒。测量您自己的基线并随时间跟踪变化。

为什么TTFB高但页面加载快?

TTFB仅指响应第一个字节的时间。其余内容可能快速下载,因此高TTFB可能会被后续并行传输掩盖。但用户在浏览器渲染任何内容之前等待第一个字节,因此高TTFB仍会延迟感知加载。

更多来自性能

CPU steal time(CPU偷取时间)
Steal time是虚拟CPU已准备好运行但hypervisor将物理核心给了另一个客户机的时间比例。
RTT
RTT 是数据包到达目的地并返回响应所需的时间,以毫秒为单位。
抖动
抖动是数据包延迟随时间的变化,不同于平均延迟本身。