串行化延迟怎么算
串行化延迟是把一个报文完整放到线路上所需的时间,等于包长(比特)除以链路速率。它的量级完全由链路带宽决定:1500 字节的包在 2 Mbps 链路上约需 6 毫秒,在 1 Gbps 链路上只有约 12 微秒。它和传播延迟、排队延迟是三件不同的事,排错时先分清是哪一类,再谈优化。
基本信息
| 计算公式 | 串行化时间 = 包长(bit)/ 链路速率(bps) |
|---|---|
| 单位提醒 | 1 字节等于 8 比特,带宽通常按比特计 |
| 相关概念 | 传播延迟看距离、排队延迟看拥塞、处理延迟看设备性能 |
| 观察方法 | 对比不同包长的往返延迟 |
典型使用场景
- 低带宽专线(MPLS、卫星、移动回传)上大包业务体验差
- 通过大小包 RTT 差异粗测链路实际速率是否与合同一致
- 解释「带宽没跑满但延迟偏高」的现象
- 评估调整 MTU 对延迟的收益
- 把串行化延迟从排队延迟里区分出来,避免优化方向跑偏
量级估算
量级估算
# 1500 字节的包在 2 Mbps 链路上:1500*8/2e6 = 6 毫秒
# 512 字节的包在 2 Mbps 链路上:512*8/2e6 ≈ 2 毫秒
# 同一链路上两者相差约 4 毫秒,往返各一次即约 8 毫秒
tshark -r a.pcap -Y "icmp.type==8" -T fields -e frame.len -e frame.time_delta
# 用不同大小的 ping 结果对照,只能作为量级参考延迟构成对照
| 类型 | 决定因素 | 典型量级 |
|---|---|---|
| 串行化延迟 | 包长与链路速率 | 低带宽链路上毫秒级 |
| 传播延迟 | 距离与介质,光纤约每公里 5 微秒 | 跨城几毫秒 |
| 排队延迟 | 拥塞程度与队列深度 | 拥塞时可达数十毫秒 |
| 处理延迟 | 设备转发与卸载能力 | 微秒级 |
光纤中信号传播速度约为每公里 5 微秒,这是一个方便快速估算的量级。跨洲链路的传播延迟本身就占几十毫秒,与串行化延迟不是一回事,讨论延迟时不要混谈。
用 ping 的大小包差异反推延迟构成时要注意,ICMP 可能被限速、不同包大小也可能走不同路径。结果只能当量级参考,不能当精确测量,报告里要写明测量方法。
实践提示
- 低带宽链路优先考虑压缩与协议头优化,收益通常大于单纯加带宽
- 高延迟链路关注带宽时延积,窗口不足会成为吞吐瓶颈
- 大包业务评估 MTU 与分片策略,减少无谓的分片开销
- 实时业务用小包更频繁发送,串行化开销相对更敏感
- 改造前后用同一方法复测大小包延迟,量化收益