鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

网卡调优

网卡参数调优

  1. 调整rx_buff。

    1822网卡默认的rx_buff配置为2KB,在聚合64KB报文的时候,需要多片不连续的内存,使用率较低;该参数可以配置为2/4/8/16KB,修改后可以减少不连续的内存,提高内存使用率。修改与查看方式如下。

    1. 查看rx_buff参数。
      cat /sys/bus/pci/drivers/hinic/module/parameters/rx_buff
    2. 修改rx_buff配置参数为8KB。
      add this to /etc/modprobe.d/hinic.conf
      options hinic rx_buff=8
      rmmod hinic
      modprobe hinic
    3. 查看修改结果。
      cat /sys/bus/pci/drivers/hinic/module/parameters/rx_buff
  2. 修改Ring Buffer大小。

    1822网卡Ring Buffer最大支持4096,默认配置为1024,可以增大buffer大小用于提高网卡Ring大小。修改方式如下。

    ethtool -G enp4s0 rx 4096 tx 4096
  3. 开启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使网卡中断在所有核上进行调度,使用手动绑核将中断固定住能有效提高业务网络收发包的能力。

网卡软中断绑核操作方法:

  1. 关闭irqbalance服务。
    systemctl stop irqbalance
    systemctl disable irqbalance
  2. 查询网卡归属于哪个NUMA节点。
    cat /sys/class/net/<网口名>/device/numa_node
  3. 查询该NUMA节点对应哪些CPU core。
    lscpu
  4. 查询网卡中断号。
    cat /proc/interrupts | grep <网口名> | awk -F ':' '{print $1}'
  5. 将软中断绑定到该NUMA节点对应的core上。
    echo <core编号> > /proc/irq/<中断号>/smp_affinity_list