性能
什么是TTFB?
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 是数据包到达目的地并返回响应所需的时间,以毫秒为单位。
- 抖动
- 抖动是数据包延迟随时间的变化,不同于平均延迟本身。