DPDK高性能交换机深度实践:一次TX Completion延迟引发的转发性能雪崩

一、故障背景

某大型数据中心部署了一套基于DPDK的软件交换机集群。

主要承担:

  • VXLAN Gateway
  • EVPN Leaf
  • L2 Switching
  • IPv4/IPv6 Routing
  • ACL过滤
  • ERSPAN镜像

硬件配置:

项目 配置
CPU Intel Xeon Gold 6430
网卡 Intel X710 10G
DPDK 23.11
PMD Core 32
RX Queue 32
TX Queue 32

系统长期运行稳定。

一次业务扩容后:

转发流量:

48Mpps
↓
63Mpps
↓
81Mpps

开始出现异常。

现网告警:

  • RTT偶发升高
  • VXLAN Overlay时延抖动
  • TCP重传率上升
  • 微丢包告警

但所有PMD线程依然:

100% CPU

运行。


二、第一轮排查

首先查看网卡统计:

rte_eth_stats_get();

结果:

imissed      = 0
ierrors      = 0
rx_nombuf    = 0

无异常。


查看RSS分布:

32个Queue负载均衡

正常。


查看ACL:

Lookup Cycles
稳定

正常。


查看路由查找:

LPM Lookup
稳定

正常。


查看Mempool:

Free Objects > 85%

正常。


几乎所有传统DPDK排查方向都被排除。


三、一个反常现象

运维团队发现:

RX侧统计正常。

但:

TX Queue Occupancy

偶尔会快速上升。

又快速恢复。

持续时间:

20ms ~ 100ms

非常短。


这种现象无法通过常规监控捕获。

于是开始重点分析发送路径。


四、重新理解DPDK发送流程

很多开发人员理解的发送流程:

Packet
↓
rte_eth_tx_burst()
↓
NIC
↓
Wire

实际上远没有这么简单。

现代网卡发送路径:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr.HeBoYan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值