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