上传慢看什么
上传方向慢的排查要盯接收端的确认节奏与通告窗口。如果上传过程中接收窗口频繁归零或长期贴近零,说明接收方读取速度跟不上发送速度,瓶颈在接收侧的应用或缓冲;如果窗口始终正常而吞吐仍然上不去,则要看丢包与拥塞窗口的变化,方向转向链路质量与拥塞控制。方向判断不能想当然:上传数据由客户端发往服务端,通告窗口的发出方是服务端,把方向搞反会把结论完全颠倒。
基本信息
| 观察重点 | 接收窗口变化与确认推进速度 |
|---|---|
| 零窗过滤 | tcp.analysis.zero_window |
| 相关字段 | tcp.window_size_value、tcp.analysis.window_update |
| 方向提醒 | 数据由客户端发往服务端,窗口由接收方通告 |
| 常见诱因 | 接收侧应用阻塞、磁盘写入慢、缓冲不足、链路丢包 |
典型使用场景
- 大文件上传慢:确认瓶颈在接收侧应用还是链路传输
- 零窗定位:窗口归零期间发送方只能等待,这段时间被完全浪费
- 与限速区分:设备限速多表现为匀速到达,零窗则是间歇性停顿
- 分片重传分析:按时间切片看重传是否集中在拥塞时段
- 缓冲调优验证:增大接收缓冲后复测上传速率是否提升
过滤与统计
过滤与统计
tcp.analysis.zero_window # 定位零窗事件
tcp.stream == N && tcp.len > 0 # 只看上传方向的数据段
tcp.analysis.window_update # 窗口恢复的通告
# 统计零窗持续时长占上传总时长的比例窗口表现与结论
| 窗口表现 | 指向 | 验证方式 |
|---|---|---|
| 频繁归零 | 接收侧处理不及 | 查接收端 CPU、磁盘与线程状态 |
| 始终正常但吞吐低 | 丢包或拥塞窗口受限 | 查重传与拥塞控制行为 |
| 缓慢递减 | 接收侧逐渐跟不上 | 看接收侧缓冲区占用深度 |
| 正常且吞吐达标 | 上传路径无问题 | 转向应用层与业务逻辑排查 |
中间设备可能缓存并延迟确认,单点抓包看到的窗口值并不必然代表端侧真实状态,给出结论时要注明抓包点位。
观察窗口取值变化时要把窗口缩放因素算进去,只看原始字段会明显低估实际通告窗口,据此调参会偏保守。