一、故障背景
某运营商城域网部署了一批基于DPDK的软件交换机。
主要承担:
- 汇聚交换
- VXLAN Gateway
- MPLS VPN接入
- L2/L3转发
硬件平台:
| 项目 | 配置 |
|---|---|
| CPU | Intel Xeon Gold 6338 |
| 网卡 | Intel X710 Dual Port |
| DPDK | 23.11 |
| PMD Core | 24 |
| RX Queue | 24 |
| TX Queue | 24 |
系统稳定运行近一年。
某次业务扩容后:
流量规模:
52Mpps
↓
71Mpps
↓
89Mpps
开始出现问题。
业务现象:
- RTT升高
- VXLAN Overlay时延增加
- TCP重传率增加
监控显示:
PMD线程:
100%
所有线程均正常运行。
二、第一轮排查
首先检查传统指标。
查看:
rte_eth_stats_get()
结果:
imissed = 0
ierrors = 0
rx_nombuf = 0
完全正常。
查看RSS统计:
24个队列流量分布均衡
无倾斜。
查看Mempool:
Available > 90%
正常。
查看ACL:
Lookup Cycles
无明显变化
正常。
查看FIB:
DIR24_8 Lookup
正常
问题陷入僵局。
三、发现关键线索
压测过程中发现:
对于:
64B报文
性能下降明显。
对于:
512B
1024B
1500B
几乎没有影响。
这是一个非常重要的特征。
因为:
大包场景:
瓶颈 = 带宽
而:
64B场景
瓶颈通常是:
Packet Rate
四、重新审视DPDK收包路径
很多人认为:
DPDK收包:
NIC
↓
Packet
↓
CPU
实际上完全不是。
真实路径:


314

被折叠的 条评论
为什么被折叠?



