LRO/GRO 对于网络吞吐的影响

💡 原文中文,约3800字,阅读约需9分钟。
📝

内容提要

分析抓包文件显示,新设备吞吐量下降主要因网卡LRO功能失效,导致数据包处理效率降低。尽管新旧设备转发速度相似,但包大小分布和ID不连续影响性能,造成部分请求超时。

🎯

关键要点

  • 新设备吞吐量下降主要因网卡LRO功能失效,导致数据包处理效率降低。

  • 新旧设备转发速度相似,但包大小分布和ID不连续影响性能,造成部分请求超时。

  • 抓包分析显示,正常情况下吞吐可达220Mbps,而新设备仅为140Mbps。

  • 网卡通过LRO功能合并小包以提高CPU处理效率,若LRO失效则吞吐量下降。

  • 新设备更换后,服务器网卡的LRO失效与网络设备的硬件实现有关。

  • Linux可通过软件实现GRO,但性能较差,且需遵循特定规则以保证可逆性。

  • 外层IP包的DF位为0且ID不连续,导致无法进行LRO/GRO处理。

延伸问答

新设备吞吐量下降的主要原因是什么?

新设备吞吐量下降主要因网卡LRO功能失效,导致数据包处理效率降低。

LRO功能在网络性能中起什么作用?

LRO功能通过合并小包提高CPU处理效率,从而提升网络吞吐量。

新旧设备的转发速度有什么区别?

新旧设备的转发速度相似,但新设备的吞吐量因LRO失效而下降。

如何通过软件实现GRO?

Linux可以通过软件实现GRO,但性能较差,并需遵循特定规则以保证可逆性。

为什么新设备的LRO会失效?

新设备的LRO失效与服务器网卡的硬件实现有关,可能是由于硬件设计不支持LRO。

数据包的DF位和ID连续性对LRO/GRO处理有什么影响?

如果外层IP包的DF位为0且ID不连续,将导致无法进行LRO/GRO处理。

➡️

继续阅读