DPDK高性能交换机深度实战:一次FIB更新风暴引发的转发抖动故障分析
一、故障背景
某大型云数据中心部署了一套软件交换机集群。
承担:
- VXLAN Gateway
- EVPN Route Reflector接入
- BGP路由汇聚
- 大规模L3转发
设备规格:
| 项目 | 参数 |
|---|---|
| CPU | Intel Xeon Gold 6338 |
| PMD Core | 24 |
| DPDK | 23.11 |
| 路由规模 | 180万 |
| ECMP路径 | 64 |
| BGP邻居 | 520 |
系统已稳定运行两年。
某次业务扩容后。
出现告警:
- TCP RTT周期性升高
- BGP Keepalive超时
- VXLAN Overlay延迟增加
异常持续:
30秒 ↓ 恢复 ↓ 30秒 ↓ 恢复循环出现。
二、第一轮排查
首先查看:
rte_eth_stats_get()结果:
imissed = 0 ierrors = 0 rx_nombuf = 0无异常。
继续查看:
RX Queue Occupancy正常。
继续查看:
TX Queue Occupancy正常。
继续查看:
RSS Distribution均衡。
继续查看:
Mempool Usage正常。
所有传统DPDK指标全部正常。
三、发现异常规律
运维人员发现:
每次业务抖动发生时。
控制面日志中出现大量:
BGP UPDATE消息。
统计如下:
| 时间 | 路由更新 |
|---|---|
| 正常时 | 100/s |
| 异常时 | 3万/s |
开始怀疑:
<