单个vCPU处理网络中断存在瓶颈,您可以通过配置网卡多队列将实例中的网卡中断分散给不同的vCPU处理,提升网络处理性能。
不同镜像版本对网卡多队列支持情况不同。详细情况如下:
共享镜像实际为其他用户的私有镜像共享给您使用,支持情况同私有镜像。
暂不支持。
各种实例规格对网卡多队列的支持现状,请参见实例规格类型。
对于支持但未开启网卡多队列功能的镜像,可通过下述方法临时配置多队列,但重启后配置会失效。此方法可用作测试多队列开启对网络性能的影响,如确定要开启网卡多队列,请参照下方永久配置方法。 这里以CentOS 6.9为例,介绍配置步骤。
登录实例。
查看网卡是否支持多队列以及目前支持的最大队列数。运行命令:
ethtool -l eth0
"Pre-set maximums"和"Current hardware settings"中的"Combined"分别为支持设置的队列数和当前生效的队列数
设置网卡当前使用多队列。运行命令:
ethtool -L eth0 combined x
x为设置的队列数。
对于有多个网卡的用户,可以对多个网卡分别进行设置,只需将上述命令中eth0替换成其他网卡设备名即可。
[root@test ~]# ethtool -l eth0 Channel parameters for eth0: Pre-set maximums: RX: 0 TX: 0 Other: 0 Combined: 4 # 此行代表最多支持4个队列 Current hardware settings: RX: 0 TX: 0 Other: 0 Combined: 1 # 此行代表当前生效1个队列 [root@test ~]# ethtool -L eth0 combined 4
建议开启irqbalance服务,让系统自动调整网卡中断在多个vCPU核上的分配,CentOS 7已默认开启。运行命令:
systemctl start irqbalance
tar zxvf multi-queue-jd.tgz cd multi-queue-jd bash install.sh <image-type> <version-num>
系统类型和主版本号填写参考如下,如当前镜像为CentOS 6.9,则安装指令为bash install.sh centos 6
。
* image-type: centos|ubuntu * centos version-num: 6|7|8 * ubuntu version-num: 14|16|18
安装信息中出现Starting multi-queue-jd: OK
即表明网卡多队列配置成功,完成配置后可将安装脚本删除。