虚拟机网卡设置
虚拟机使用网卡直通时,适当调整网卡队列数和绑定中断,可以最大限度的提升网络性能,让网络不成为性能瓶颈。
调整网卡队列数
- 在虚拟机中执行如下命令,查询网卡队列数。
1
ethtool -l eth1
上述返回信息说明一共有63个队列。
- 执行top观察CPU在软中断softirq中的消耗情况进行判断,如果队列设置过少,会看见处理软中断的CPU出现100%,此时需要增加队列。
- 观察性能情况,动态调整队列数。此处以调整队列数48为例:
1
ethtool -L eth1 combined 48
并不是队列越多越好,需要观察CPU资源消耗集中在软中断的处理上,从而判断是否存在性能瓶颈。
网卡中断绑定
建议尽量将中断绑定到物理网卡所在的NUMA的vcpu上,可以在Host主机上通过以下命令查看网卡所属的NUMA节点:
1
|
cat /sys/bus/pci/devices/0000\:03\:00.0/numa_node |
- 关闭虚拟机内的irqbalance服务。
1 2
service irqbalance status service irqbalance stop
- 查询网卡对应的中断号,执行命令如下。
1
cat /proc/interrupts | grep eth1
eth1为网口名称。
- 手动绑定网卡中断到不同的CPU。
1
echo 2 > /proc/irq/xxx/smp_affinity_list
其中“xxx”为2中查询到的中断号。
父主题: 虚拟化调优