如何设置镜像的网卡多队列属性?-九游平台
操作场景
随着网络io的带宽不断提升,单核cpu处理网络中断存在瓶颈,不能完全满足网卡的需求,通过开启网卡多队列功能,您可以将弹性云服务器中的网卡中断分散给不同的cpu处理,以满足网卡的需求,从而提升网络pps和带宽性能。
网卡多队列支持列表
网卡多队列的支持情况和实例规格、虚拟化类型有关,只有同时满足这些要求,云服务器才能开启网卡多队列功能。
- 支持网卡多队列的实例规格请参见“规格清单”。
网卡多队列数为大于1的值,表示支持网卡多队列。
- 虚拟化类型必须为kvm,xen类型不支持网卡多队列。
操作说明

当前仅支持针对eth网卡开启网卡多队列。
将外部镜像文件导入镜像服务控制台
- 如果为“支持”,执行使用私有镜像创建云服务器。
- 如果为“不支持”,执行为镜像添加网卡多队列标签。
为镜像添加网卡多队列标签
windows操作系统暂未商用支持网卡多队列,如果对windows操作系统镜像添加网卡多队列标签,开启网卡多队列功能,可能会引起操作系统启动速度变慢等问题。
用户可以选择以下任意一种方式设置镜像的网卡多队列属性。
- 登录ims控制台。
- 登录管理控制台。
- 选择“计算 > 镜像服务”。
进入镜像服务页面。
- 单击“私有镜像”页签,在对应镜像所在行的“操作”列下,单击“修改”。
- 设置镜像的网卡多队列属性。
- 登录ims控制台。
- 登录管理控制台。
- 选择“计算 > 镜像服务”。
进入镜像服务页面。
- 单击“私有镜像”页签,在镜像列表中,单击镜像名称,进入镜像详情页面。
- 单击右上角的“修改”,在弹出的“修改镜像”对话框中,设置镜像的网卡多队列属性。
方法3:通过api为镜像添加网卡多队列标签hw_vif_multiqueue_enabled
- 获取token的方法请参考“认证鉴权”。
- “更新镜像信息”的api使用方法请参考“更新镜像信息(openstack原生)”。
- 在请求消息头中增加“x-auth-token”。
“x-auth-token”的取值为步骤1中获取的token。
- 在请求消息头中增加“content-type”。
“content-type”取值为application/openstack-images-v2.1-json-patch
请求的uri格式为:
patch /v2/images/{image_id}
请求的body体如下所示。[ { "op":"add", "path":"/hw_vif_multiqueue_enabled", "value": true } ]
使用私有镜像创建云服务器
- 区域:必须选择私有镜像所在的区域。
- 镜像:选择“私有镜像”,并在下拉列表中选择需要的镜像。
执行网卡多队列的配置脚本
windows操作系统暂未商用支持网卡多队列,如果对windows操作系统镜像添加网卡多队列标签,开启网卡多队列功能,可能会引起操作系统启动速度变慢等问题。
针对linux操作系统,镜像服务提供了自动开启网卡多队列功能的配置脚本。如果弹性云服务器有多张网卡,执行配置脚本后,所有网卡均会自动开启多队列。
- 登录弹性云服务器,查看网卡支持和已开启的队列数。
ethtool -l 网卡
示例:
[root@localhost ~]# ethtool -l eth0 #查询网卡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个队列
如果返回信息中,两个“combined”字段取值相同,则表示网卡已开启多队列,无需执行以下操作。
- 执行以下命令,下载配置脚本“multi-queue-hw”。
wget https://ecs-instance-driver.obs.cn-north-1.myhuaweicloud.com/multi-queue-hw
其中,下载地址为:
- 执行以下命令,添加执行权限。
chmod x multi-queue-hw
- 执行以下命令,将脚本“multi-queue-hw”放到目录/etc/init.d下。
mv multi-queue-hw /etc/init.d
如果出现如下提示信息,请输入“y”。
mv: overwrite '/etc/init.d/multi-queue-hw'?
- 执行以下命令,运行脚本“multi-queue-hw”。
/etc/init.d/multi-queue-hw start
运行脚本后,立即生效。但关机弹性云服务器后,网卡多队列功能将自动失效。
- 为了使网卡多队列功能开机自动生效,各个os需要增加开机启动配置:
- centos/red hat/fedora/euleros/suse/opensuse使用如下命令,增加开机启动项,使网卡多队列配置开机:
chkconfig multi-queue-hw on
- ubuntu使用如下命令,增加开机启动项:
update-rc.d multi-queue-hw defaults 90 10
- debian使用如下命令,增加开机启动项:
systemctl enable multi-queue-hw
- centos/red hat/fedora/euleros/suse/opensuse使用如下命令,增加开机启动项,使网卡多队列配置开机:
相关文档
意见反馈
文档内容是否对您有帮助?
如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨