系统延迟等级

yuanheci 2025年04月26日 5次浏览

2020年代的数据,只是对量级有个概念。

现代CPU一秒可计算1e8次(1亿次)


1ns

  • 访问CPU寄存器(亚纳秒级别)

1ns-10ns

  • L1 & L2 Cache

  • 分支错误预测惩罚

10ns-100ns

  • L3 Cache 位于该范围的快端

  • 现代处理器访问主存位于该范围的慢端

100ns-1000ns(1us)

  • Linux系统调用(几百纳秒,仅仅是陷入内核并返回的成本,不包括系统调用本身的运行时间)

  • 对64位数字进行md5哈希处理(大约200ns)

1us-10us

  • Linux上下文切换(最好的情况下几微秒)

  • 将64KB从主存一个位置复制到另一个位置

10us-100us

  • Nginx处理典型的http请求(50us)

  • 从主存顺序读取1MB数据(50us)

  • SSD读取8K页延迟(100us)

100us-1000us(1ms)

  • SSD写入延迟(1ms,是读的10倍)

  • 云提供商的区域内网络往返(几百微秒,现在可以达到几十微秒)

  • Memcache或Redis get操作(~1ms,包含网络往返)

1ms-10ms

  • 现代云的域间网络往返

  • 磁盘驱动器寻道时间(5ms)

10ms-100ms

  • 美国西海岸到东海岸、美国东海岸到欧洲的网络往返延时

  • 从主存顺序读取1GB

100ms-1000ms(1s)

  • bcrypt等慢速哈希函数加密(300ms)

  • TLS握手(250-500ms)

  • 从SSD顺序读取1GB

1s

  • 在同一云区域通过网络传输1GB文件(10s)

image-1745629060768