问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

网卡RRS(Receive-Side Scaling)配置详解

创作时间:
作者:
@小白创作中心

网卡RRS(Receive-Side Scaling)配置详解

引用
1
来源
1.
https://www.cnblogs.com/HByang/p/18649118

网卡的Receive-Side Scaling(RSS)技术是一种多队列负载分流技术,可以将网络数据流分配到多个接收队列(rx queue),并将其分配到多个CPU核上进行并行处理,从而提升网络处理能力。但是,如果配置不当,可能会导致同一个网络会话被分配到多个rx queue上,造成应用层处理出现cache thrashing。本文将详细介绍如何配置Intel 82599网卡的RSS参数以优化网络处理能力。

RSS(Receive-Side Scaling)网卡的多队列负载分流技术为了更好的利用多核系统。可以将网卡的数据流分配到多个rx queue,多个队列再分配到多个CPU核上,多个CPU并行处理数据包,大大提升网络处理能力。但是有可能造成同一个网络会话被分配到多个rx queue上,导致应用层处理会出现cache thrashing。默认Intel 82599网卡驱动有64个队列,建议降低此数值。

以主机配置6个Intel 82599万兆网口为例

1、 配置网卡RSS参数(需要暂停网络和业务):

rmmod ixgbe /*卸载旧驱动*/
modprobe ixgbe RSS=16,16,16,16,16,16

2、检查是否已经配置成功,RxQ、TxQ修改为16:

dmesg | grep RX

或者

egrep 'CPU|eth1' /proc/interrupts

或者

ls -l /sys/devices/*/*/device_pci_address/msi_irqs
ls -l /sys/devices/*/*/0000:01:00.0/msi_irqs
  1. 将配置优化到驱动的配置文件,重启依然有效。

在/etc/modprobe.conf中追加options ixgbe RSS=16,16,16,16,16,16这样服务器重启后 驱动参数配置依然生效。

4、UDP根据源IP和目的IP,端口号的哈希队列优化,默认关闭。

ethtool -N ethX rx-flow-hash udp4 sdfn

查看当前网卡的hash配置:

ethtool -n ethX rx-flow-hash udp4

如果配置成功显示如下内容:

IP SA
IP DA
L4 bytes 0 & 1 [TCP/UDP src port]
L4 bytes 2 & 3 [TCP/UDP dst port]

未配置显示如下:

IP SA
IP DA
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号