2025-03-24 13:06:27
单个vCPU处理网络中断存在瓶颈,您可以通过配置网卡多队列将实例中的网卡中断分散给不同的vCPU处理,提升网络处理性能。
不同实例规格支持的网卡队列数量不同,详情见实例规格类型。
不同镜像版本对网卡多队列支持情况不同。详细情况如下:
CentOS
7.4及以上版本:历史所有版本均支持且默认开启,并按最大支持队列配置
6.6/6.8/6.9/7.1/7.2/7.2 NAT Gateway/7.3:支持,但早期官方镜像版本(23年4月以前)可能未配置默认开启,如所使用镜像未开启可参照下方配置方法安装脚本以实现自动配置
6.5及以下版本:不支持
Ubuntu
22.04/20.04/18.04:历史所有版本均支持且默认开启,并按最大支持队列配置
14.04/16.04:支持,但早期官方镜像版本(23年4月以前)可能未配置默认开启,如所使用镜像未开启可参照下方配置方法安装脚本以实现自动配置
Windows Server
支持,但早期官方镜像版本(23年4月以前)可能未配置默认开启
基于官方镜像制作的私有镜像,网卡多队列支持情况视原始官方镜像情况,及制作镜像前主机内是否通过脚本实现了自动开启的配置
共享镜像实际为其他用户的私有镜像共享给您使用,支持情况同私有镜像。
暂不支持。
对于支持但未开启网卡多队列功能的镜像,可通过下述方法临时配置多队列,但重启后配置会失效。此方法可用作测试多队列开启对网络性能的影响,如确定要开启网卡多队列,请参照下方永久配置方法。
下文以CentOS 6.9为例,介绍配置步骤。
登录实例。
运行ethtool -l eth0
查看网卡是否支持多队列以及目前支持的最大队列数。Pre-set maximums
和Current hardware settings
中的Combined
分别为支持设置的队列数和当前生效的队列数。
[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个队列
运行ethtool -L eth0 combined x
,设置网卡当前使用多队列,x为设置的队列数。
对于有多个网卡的实例,可以同时对多个网卡分别进行设置,只需将上述命令中eth0
替换成其他网卡设备名即可。
建议运行systemctl start irqbalance
开启irqbalance服务,让系统自动调整网卡中断在多个vCPU核上的分配。
下载脚本。各地域内网下载地址如下:
华北-北京:https://bj-jcs-agent-linux.s3-internal.cn-north-1.jdcloud-oss.com/multi-queue-jd.tgz
华南-广州:https://gz-jcs-agent-linux.s3-internal.cn-south-1.jdcloud-oss.com/multi-queue-jd.tgz
华东-宿迁:https://sq-jcs-agent-linux.s3-internal.cn-east-1.jdcloud-oss.com/multi-queue-jd.tgz
华东-上海:https://sh-jcs-agent-linux.s3-internal.cn-east-2.jdcloud-oss.com/multi-queue-jd.tgz
解压并安装。
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
安装信息中出现Starting multi-queue-jd: OK
即表明网卡多队列配置成功,完成配置后可将安装脚本删除。
我们的产品专家为您找到最合适的产品/解决⽅案
1v1线上咨询获取售前专业咨询
专业产品顾问,随时随地沟通