网卡调优
网卡参数调优
- 调整rx_buff。1822网卡默认的rx_buff配置为2KB,在聚合64KB报文的时候,需要多片不连续的内存,使用率较低;该参数可以配置为2/4/8/16KB,修改后可以减少不连续的内存,提高内存使用率。修改与查看方式如下。
- 查看rx_buff参数。
1
cat /sys/bus/pci/drivers/hinic/module/parameters/rx_buff
- 修改rx_buff配置参数为8KB。
- 打开/etc/modprobe.d/hinic.conf文件。
1
vi /etc/modprobe.d/hinic.conf
- 按“i”进入编辑页面,添加如下内容。
1
options hinic rx_buff=8
- 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
- 打开/etc/modprobe.d/hinic.conf文件。
- 重新加载hinic驱动。
1 2
rmmod hinic modprobe hinic
- 查看修改结果。
1
cat /sys/bus/pci/drivers/hinic/module/parameters/rx_buff
- 查看rx_buff参数。
- 修改Ring Buffer大小。1822网卡Ring Buffer最大支持4096,默认配置为1024,可以增大buffer大小用于提高网卡Ring大小。修改方式如下。
1
ethtool -G enp4s0 rx 4096 tx 4096
- 开启LRO。1822网卡与82599网卡相同,支持LRO(Large Receive Offload),最好打开这个选项,并合理配置1822 LRO参数。修改方式如下。
1 2 3
ethtool -K enp4s0 lro on hinicadm lro -i hinic0 -t <TIME> #表示最大TIME微秒后聚合发出,默认16us hinicadm lro -i hinic0 -n <NUM> #表示最大收到NUM包后聚合发出,默认4个,此处调优修改为8个包
网卡中断绑核
相比使用内核的irqbalance使网卡中断在所有核上进行调度,使用手动绑核将中断固定住能有效提高业务网络收发包的能力。
网卡软中断绑核操作方法:
- 关闭irqbalance服务。
1 2
systemctl stop irqbalance systemctl disable irqbalance
- 查询网卡归属于哪个NUMA节点。
cat /sys/class/net/<网口名>/device/numa_node
- 查询该NUMA节点对应哪些CPU core。
1
lscpu
- 查询网卡中断号。
cat /proc/interrupts | grep <网口名> | awk -F ':' '{print $1}'
- 将软中断绑定到该NUMA节点对应的core上。
echo <core编号> > /proc/irq/<中断号>/smp_affinity_list
父主题: 操作系统调优