网卡多队列

多队列指实例规格支持的最大网卡队列数。单个ECS实例vCPU处理网络中断存在性能瓶颈时,您可以将实例中的网络中断分散给不同的CPU处理。经测试,在相同的网络PPS和网络带宽的条件下,与1个队列相比,2个队列最多可提升性能达50%到100%,4个队列的性能提升更大。

在ECS实例上配置网卡多队列

如果您使用的镜像已默认开启网卡多队列功能,请跳过此章节内容。

本节以Aliyun Linux 17.1镜像为例,假设实例主网卡名称为eth0,辅助弹性网卡名称为eth1,介绍如何手动配置网卡多队列。

  1. 运行命令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字段取值相同,则表示弹性网卡已开启支持多队列。
  2. 运行命令ethtool -L eth0 combined 2开启网卡的多队列功能。命令作用是设置主网卡eth0使用两个队列。
    [root@localhost ~]# ethtool -L eth0 combined 2
  3. 设置辅助网卡的多队列。
    # 查看辅助网卡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
  4. (推荐)开启irqbalance服务,让ECS实例自动调整网络中断在多个vCPU核上的分配。
    1. 运行命令systemctl start irqbalance开启服务。
    2. 运行命令systemctl status irqbalance 查看服务状态。

      结果显示active (running),表示已开启irqbalance服务。

说明 开启网卡多队列后,如果网络性能提升仍达不到您的预期,您可以考虑开启RPS(Receive Packet Steering)特性。
阿里云官方提供的CentOS、Ubuntu公共镜像,默认开启RPS特性。如果您使用的是其他公共镜像或者自定义镜像,可参考如下Shell脚本自行开启RPS特性。

#!/bin/bash
cpu_num=$(grep -c processor /proc/cpuinfo)
quotient=$((cpu_num/8))
if [ $quotient -gt 2 ]; then
quotient=2
elif [ $quotient -lt 1 ]; then
quotient=1
fi
for i in $(seq $quotient)
do
cpuset="${cpuset}f"
done
for rps_file in $(ls /sys/class/net/eth*/queues/rx-*/rps_cpus)
do
echo $cpuset > $rps_file
done
(0)

相关推荐

  • Linux网络包接收过程的监控与调优

    上一篇文章中<图解Linux网络包接收过程>,我们梳理了在Linux系统下一个数据包被接收的整个过程.Linux内核对网络包的接收过程大致可以分为接收到RingBuffer.硬中断处理.k ...

  • ethtool命令

    ethtool命令用于获取以太网卡的配置信息,或者修改这些配置.这个命令比较复杂,功能特别多. 语法 ethtool [ -a | -c | -g | -i | -d | -k | -r | -S | ...

  • C语言实现环形队列的原理和方法

    什么是环形队列? 环形缓冲区是一个非常典型的数据结构,这种数据结构符合生产者,消费者模型,可以理解它是一个水坑,生产者不断的往里面灌水,消费者就不断的从里面取出水. 那就可能会有人问,既然需要灌水,又 ...

  • 安装原版win7后,没有驱动,上不了网怎么办?万能网卡驱动来帮你

    安装原版win7后,没有驱动,上不了网怎么办?万能网卡驱动来帮你

  • 怎么查询电脑网卡是千兆还是百兆?教你如何分辨百兆和千兆网卡

    如今,人们对网速要求越来越快,尤其玩游戏.下载.在线看高清视频的人群,如果没有较好的网络加持,再高性能的电脑也是白费.初期,运营商宽带也就是2M.4M.6M.8M,好一些也就10M.12M.20M,现 ...

  • 详解队列队形及口令

    队列队形练习的意义 队列是在一定队形下的协调而统一的行动.队形是为协同动作而采取的队伍排列形式.前者以人民解放军的"队列条令,为基础,并结合体育课的需要适当加以补充:后者是对体育课上经常采用 ...

  • 清朝老照片:巡抚大人出巡队列散乱,农民家庭房屋简陋破旧

    时间淘洗岁月,人们能够记住的往事百不及一.对历史研究者和爱好者而言,回头看.还原先辈的生活仍有意义.小编翻箱倒柜,找到一组珍贵的清朝末期老照片,拼凑出100多年前社会状况的片段,供感兴趣的朋友感怀过去 ...

  • 通过程序自动设置网卡的“internet共享”选项

    操作系统 : Windows 10_x64 [版本 10.0.19042.685] Windows下可以通过网卡共享进行上网,但是需要在网卡的属性里面进行设置,需要在视窗界面进行操作,不能实现自动化. ...

  • 电脑双网卡设置,自动区分访问内外网,亲测有效

    服务器双网卡,1个访问内网,1个访问外网,外网用的电脑本身网卡,内网使用在网上买了个USB网卡,分别插上内外网网线,不能使用,查阅资料,以下方案可行,如有相同问题的条友,可以一试,我在头条上记录下来, ...

  • 近2000万物联网卡差点儿流入黑市!国家重磅启动“断卡行动2.0”

    导  读 近日,工信部召开信息通信行业防范治理电信网络诈骗工作电视电话会议暨"断卡行动2.0"启动会,提出了针对当前行业治理中最为紧迫的电话卡.物联网卡管理问题,要更加深入地推进& ...

  • 消息队列在RTOS的应用

    传说互联网应用有两大利器,一个是缓存,另一个就是消息队列. 一直相对消息队列做一下梳理,希望早日另有成文. 一叶知秋,实际上消息队列在嵌入式系统中同样有着广泛的应用. 近来致力于IoT和智能硬件,现学 ...