配置网卡多队列

网卡多队列是一种技术手段,可以解决网络I/O带宽QoS(Quality of Service)问题。网卡多队列驱动将各个队列通过中断绑定到不同的核上,从而解决网络I/O带宽升高时单核CPU的处理瓶颈,提升网络PPS和带宽性能。经测试,在相同的网络PPS和网络带宽的条件下,与1个队列相比,2个队列最多可提升性能达50%到100%,4个队列的性能提升更大。

自动配置
远程连接ECS实例。
关于连接方式的介绍,请参见连接方式概述。
下载自动配置脚本ecs_mq。
wget https://ecs-image-tools.oss-cn-hangzhou.aliyuncs.com/ecs_mq/ecs_mq_latest.tgz
解压脚本。
tar -xzf ecs_mq_latest.tgz
更换工作路径。
cd ecs_mq/
运行脚本。
不同的镜像版本的命令格式不同,例如CentOS 7.6镜像运行bash install.sh centos 7。
bash install.sh <系统名称> <系统主版本号>
启动服务。
systemctl start ecs_mq
手动配置
本节以CentOS 7.6镜像为例,假设ECS实例主网卡名称为eth0,辅助弹性网卡名称为eth1,介绍如何手动配置网卡多队列。

运行ethtool -l eth0命令查看主网卡支持多队列的情况。
[root@localhost ~]# ethtool -l eth0
Channel parameters for eth0:
Pre-set maximums:
RX: 0
TX: 0
Other: 0
Combined: 2 # 表示最多支持设置2个队列
Current hardware settings:
RX: 0
TX: 0
Other: 0
Combined: 1 # 表示当前生效的是1个队列
说明 如果返回信息中,两个Combined字段取值相同,则表示弹性网卡已开启支持多队列。
运行ethtool -L eth0 combined 2命令开启网卡的多队列功能。
此命令作用是设置主网卡eth0使用两个队列。
[root@localhost ~]# ethtool -L eth0 combined 2
设置辅助网卡的多队列。

查看辅助网卡eth1支持多队列的情况

[root@localhost ~]# ethtool -l eth1
Channel parameters for eth1:
Pre-set maximums:
RX: 0
TX: 0
Other: 0
Combined: 4 # 表示最多支持设置4个队列
Current hardware settings:
RX: 0
TX: 0
Other: 0
Combined: 1 # 表示当前生效的是1个队列

设置辅助网卡eth1使用4个队列

[root@localhost ~]# ethtool -L eth1 combined 4

猜你喜欢

转载自blog.csdn.net/weixin_43214644/article/details/126471116