网卡中断亲和性
Docker容器使用网卡直通时,适当进行网卡中断绑定,可以最大限度的提升网络性能,让网络不成为性能瓶颈。
确认所用网卡
- 查看所需的网卡。
1
ifconfig
- 查看网卡所在的NUMA节点,可根据实际情况将网卡中断绑到NUMA所在节点的CPU核。
1
cat /sys/class/net/XXX/device/numa_node
XXX为网口名称,这里以enp125s0f0为例,可知网口enp125s0f0在NUMA节点0。
网卡中断绑定
- 关闭irqbalance服务。
1 2
service irqbalance status service irqbalance stop
- 查询网卡对应的中断号。
1
cat /proc/interrupts | grep enp125s0f0
enp125s0f0为网口名称。
- 查询当前网卡中断绑核情况。
1
cat /proc/irq/227/smp_affinity_list
- 手动绑定网卡中断到指定的CPU。
例如,将网卡中断绑定到CPU4。
1
echo 4 > /proc/irq/227/smp_affinity_list
建议执行echo 2 > /proc/irq/xxx/smp_affinity_list将中断绑定到物理网卡所在的NUMA的CPU上,其中xxx为步骤2中查询到的中断号,这里中断绑定到CPU2。
父主题: 操作系统调优