操作场景
随着网络IO的带宽不断提升,单核CPU处理网络中断存在瓶颈,不能完全满足网卡的需求,通过开启网卡多队列功能,您可以将弹性云主机中的网卡中断分散给不同的CPU处理,以满足网卡的需求,从而提升网络PPS和带宽性能。
网卡多队列支持列表
网卡多队列的支持情况和实例规格、虚拟化类型、镜像的操作系统有关,只有同时满足这些要求,云主机才能开启网卡多队列功能。
- 支持网卡多队列的实例规格请参见《弹性云主机用户指南》的“产品介绍 > 实例 > 实例规格 > 规格清单”章节。
说明:
- 网卡多队列数为大于1的值,表示支持网卡多队列。
- 虚拟化类型必须为KVM,XEN类型不支持网卡多队列。
- Linux云主机网卡多队列支持列表所列的Linux公共镜像,支持网卡多队列。
说明:
- Windows操作系统暂未商用支持网卡多队列,如果对Windows操作系统镜像开启网卡多队列功能,可能会引起操作系统启动速度变慢等问题。
- Linux操作系统弹性云主机建议将操作系统内核版本升级至2.6.35及以上,否则不支持网卡多队列。
- 建议您使用命令uname -r查询内核版本,如果低于2.6.35请联系技术支持升级内核。
Windows云主机网卡多队列支持列表
类别 镜像 是否支持多队列 Windows Windows Server 2008 WEB R2 64bit 可通过私有镜像支持 Windows Server 2008 Enterprise SP2 64bit 可通过私有镜像支持 Windows Server 2008 R2 Standard/Datacenter/Enterprise 64bit 可通过私有镜像支持 Windows Server 2008 R2 Enterprise 64bit_WithGPUdriver 可通过私有镜像支持 Windows Server 2012 R2 Standard 64bit_WithGPUdriver 可通过私有镜像支持 Windows Server 2012 R2 Standard/Datacenter 64bit 可通过私有镜像支持
表Linux云主机网卡多队列支持列表
类别 镜像 是否支持多队列 是否默认开启多队列 Linux Ubuntu 14.04/16.04 Server 64bit 是 是 openSUSE 42.2 64bit 是 是 SUSE Enterprise 12 SP1/SP2 64bit 是 是 CentOS 6.8/6.9/7.0/7.1/7.2/7.3/7.4/7.5/7.6 64bit 是 是 Debian 8.0.0/8.8.0/8.9.0/9.0.0 64bit 是 是 Fedora 24/25 64bit 是 是 EulerOS 2.2 64bit 是 是
操作说明
假设以下场景所述的云主机满足规格和虚拟化类型要求:
- 使用网卡多队列支持列表中的公共镜像创建的云主机,默认已开启网卡多队列,无需执行本节操作。
- 对于私有镜像场景,如果您的外部镜像文件的操作系统在网卡多队列支持列表范围内,需要按照如下流程开启网卡多队列:
a. 将外部镜像文件导入镜像服务控制台。
b. 为镜像添加网卡多队列标签。
c. 使用私有镜像创建云主机。
d. 开启网卡多队列。
将外部镜像文件导入镜像服务控制台
将外部镜像文件导入镜像服务控制台,详细操作请参见注册镜像(Linux)。
为镜像添加网卡多队列标签
Windows操作系统暂未商用支持网卡多队列,如果对Windows操作系统镜像添加网卡多队列标签,开启网卡多队列功能,可能会引起操作系统启动速度变慢等问题。
用户可以选择以下任意一种方式设置镜像的网卡多队列属性。
方式1 :
- 登录控制台。
- 选择“ 镜像服务”。
进入镜像服务页面。
- 单击“私有镜像”页签,在对应镜像所在行的“操作”列下,单击“修改”。
- 设置镜像的网卡多队列属性。
方式2 :
- 登录控制台。
- 选择“镜像服务”。
进入镜像服务页面。
- 单击“私有镜像”页签,在镜像列表中,单击镜像名称,进入镜像详情页面。
- 单击右上角的“修改”,在弹出的“修改镜像”对话框中,设置镜像的网卡多队列属性。
使用私有镜像创建云主机
使用注册好的私有镜像创建云主机,详细操作请参见《弹性云主机用户指南》。在配置参数时,需要注意以下两点:
- 区域:必须选择私有镜像所在的区域。
- 镜像:选择“私有镜像”,并在下拉列表中选择需要的镜像。
执行网卡多队列的配置脚本
Windows操作系统使用的半虚拟化驱动pvdriver有一套动态调整网卡队列数的策略,会根据vCPU数计算队列数并进行动态调整,因此无需对windows网卡多队列数进行设置。
Linux操作系统提供了自动开启网卡多队列功能的配置脚本,配置成功后,弹性云主机支持网卡多队列功能。
下载配置脚本“multi-queue-ctyun”。
下载地址:https://multi-queue.obs.cn-jssz1.ctyun.cn/multi-queue-ctyun
执行以下命令,添加执行权限。
chmod +x multi-queue-ctyun
执行以下命令,将脚本“multi-queue-ctyun”放到目录/etc/init.d下。
mv multi-queue-ctyun /etc/init.d
执行以下命令,运行脚本“multi-queue-ctyun”。
/etc/init.d/multi-queue-ctyun start
运行脚本后,立即生效。但关机后,网卡多队列功能将自动失效。
为了使网卡多队列功能开机自动生效,各个OS需要增加开机启动配置:
− CentOS/Redhat/Fedora/EulerOS/Suse/OpenSuse使用如下命令,增加开机启动项,使网卡多队列配置开机:
chkconfig multi-queue-ctyun on
− Ubuntu使用如下命令,增加开机启动项:
update-rc.d multi-queue-ctyun defaults 90 10
− Debian使用如下命令,增加开机启动项:
systemctl enable multi-queue-ctyun