绪论与方法思维导图

时间量级

事件延迟相对时间比例
1个 CPU 周期0.3ns1s
L1 缓存访问0.9ns3s
L2 缓存访问3ns10s
L3 缓存访问10ns33s
主存访问(从 CPU 访问 DRAM)100ns6min
固态硬盘IO(闪存)10 ~ 100us9~90h
旋转磁盘 I/O1-10ms1~12mon
旧金山到纽约网络40ms4year
旧金山到英国81ms8year
轻量级硬件虚拟化重启100ms11year
旧金山到澳大利亚183ms19year
操作系统虚拟化系统重启<1s105year
基于 TCP 定时器的重传1~3s105~317year
SCSI 命令超时30s3千年
硬件虚拟化系统重启40s4千年
物理系统重启5m32千年

操作系统思维导图

观测工具思维导图

应用程序思维导图

CPU 思维导图

内存思维导图

网络思维导图

网络延迟

延迟描述
主机名解析延迟一台主机被解析到一个 IP 地址的时间,通常是通过 DNS 解析——性能问题的常见来源
Ping 延迟从 ICMP echo 请求到响应的时间。这衡量的是网络和内核栈对每台主机上的数据包的处理
TCP 连接初始化延时从发送 SYN 到收到 SYN ACK 的时间。由于不涉及任何应用程序,所以这测量的是每台主机上的网络和内核栈的延迟,类似于 ping 延迟,有一些额外用于 TCP 会话的内核处理。TCP 快速打开(TFO)可以用来减少这个延时
TCP 首字节延迟也被称为第一字节延时(TTFB),衡量从建立连接到客户端收到第一个数据字节的时间。这包括服务端的 CPU 调度和应用程序处理时间,其实衡量应用性能和当前负载的一个指标,而不是 TCP 连接延时
TCP 重传输如果发送,会为网络 I/O 增加数千毫秒的延时
TCP TIME_WAIT 延时本地关闭的 TCP 会话等待迟来的数据包的时间
连接 / 会话寿命一个网络连接从初始化到关闭的持续时间。一些协议,如 HTTP,可以使用保持在线的策略,使连接处于开放和空闲状态,以避免重复建立连接所带来的开销和延时
系统调用发送 / 接收延时套接字读 / 写调用的时间(任何对套接字进行读/写的系统调用,包括 read(2)、write(2)、rece(2)、send(2) 和它们的变体)
系统调用连接延时用于建立连接;请注意,一些应用程序将其作为非阻塞系统调用来执行
网络往返时间一个网络请求在端点之间进行往返的时间。内核可以在拥堵控制算法中使用这些测量值
中断延时接收到数据包从触发网络控制器中断到它开始被内核处理的时间
栈间的延时数据包在内核 TCP/IP 栈中移动的时间

基准测试思维导图

BPF 思维导图

原始笔记链接