网卡多队列 (解决traceroute路由不能直达)以及高丢包问题

2023-11-09

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

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

本节以Aliyun Linux 17.1镜像为例,假设实例主网卡名称为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
设置辅助网卡的多队列。

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

[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个队列

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

[root@localhost ~]# ethtool -L eth1 combined 4
(推荐)开启irqbalance服务,让ECS实例自动调整网络中断在多个vCPU核上的分配。
运行命令systemctl start irqbalance开启服务。
运行命令systemctl status irqbalance 查看服务状态。
结果显示active (running),表示已开启irqbalance服务。

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

#!/bin/bash
cpu_num= ( g r e p − c p r o c e s s o r / p r o c / c p u i n f o ) q u o t i e n t = (grep -c processor /proc/cpuinfo) quotient= (grepcprocessor/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 q u o t i e n t ) d o c p u s e t = " quotient) do cpuset=" quotient)docpuset="{cpuset}f"
done
for rps_file in $(ls /sys/class/net/eth*/queues/rx-*/rps_cpus)
do
echo $cpuset > $rps_file
done

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

网卡多队列 (解决traceroute路由不能直达)以及高丢包问题 的相关文章

  • 虚拟ip、浮动ip

    虚拟ip 虚拟 IP 是一个虚拟的 软件定义的 IP 地址 它可以用来在网络中隐藏真实的 IP 地址 或者在多个物理服务器之间共享一个 IP 地址 虚拟 IP 通常用于网络负载均衡 高可用性和网络安全等方面 Docker 在Docker中
  • Transmission Control Protocol (TCP)

    TCP协议 Transmission Control Protocol 是在IP协议之上的 确保IP数据包可靠传输的协议 TCP协议拥有一些用于解决基于数据包的问题 例如丢包 包序错乱 重复包及包损坏 由于TCP协议是IP协议之上最常用的协
  • Qt

    Qt UDP广播通信的使用 实战项目使用案例 1 UDP广播介绍 UDP广播地址固定IP地址为 XXX XXX XXX 255 如果向全网段发送广播消息 那么广播地址为 255 255 255 255 如果向单个网段发送广播消息 例如你的I
  • 音视频学习笔记(雷神)—技术解析

    音视频技术解析 封装技术 视频压缩编解码 音频压缩编解码 这是技术层 流媒体传输协议 这是网络层 视频播放器解析 解协议 从视频播放器的角度做解析 拿到传输而来的视频数据后 首先要解协议 传输协议 自然的本地视频经过硬盘传输数据自然没有解协
  • springboot多模块打包配置问题

    工程案例结构 baidu 聚合过程 baidu web 子模块web工程 baidu service 子模块 baidu config 子模块配置工程 注意事项 配置步骤 1 baidu 聚合工程 工程下的 pom xml 文件案列如下
  • OSI七层模型以及各层的作用

    OSI七层模型 OSI七层模型包括 应用层 表示层 会话层 传输层 网络层 数据链路层 物理层 具体作用 物理层 主要定义物理设备标准 如网线的接口类型 各种传输介质的传输速率等 主要作用是传输bit流 主要设备 集线器 数据链路层 主要将
  • ubuntu18安装好没有gcc的真正解决方法

    之前因为一台上同时装了n个系统 导致ubuntu坏了 重装了一下 结果发现没有gcc 奇怪的是本来是有的 百度找了一下 有说用aptitude解决的 我试了一下 使用了第二个推荐方案 结果ubuntu系统完全坏了 想了一下这次安装不正确的过
  • 基础知识十一、Python解析网络报文之TCP首部报文解析

    文章目录 一 TCP首部解析器的实现 二 测试逻辑 上一节解析了 IP首部报文后 本节继续解析TCP报文首部 TCP协议处于OSI七层模型的传输层 传输层的作用就是负责管理端到端的通信连接问题 连续ARQ automatic repeat
  • 【网络】传输层-UDP协议

    文章目录 UDP报文格式 UDP协议特性 无连接 不可靠 面向数据报 UDP缓冲区 UDP特性对于编程的影响 基于UDP的应用层协议 netstat工具 pidof命令 UDP报文格式 查看Linux系统下的 usr include net
  • 计算机网络物理层概述

    物理层 一 物理层基本概念 用于物理层协议常被称为物理层规程 物理层有四个特性 1 机械特性 指明接口所用接线器的形状和尺寸 引脚数目和排列 固定和锁定装置等 平时常见的各种规格的插件都有严格的标准化规定 2 电器特性 指明在接口电缆的各条
  • OSI与TCP/IP协议

    OSI七层模型 OSI7层模型分别是 物理层 数据链路层 网络层 传输层 会话层 表示层 应用层 数据的封装与解封装过程 OSI模型vsTCP IP模型 TCP IP协议族的组成 每层常见的协议 应用层的协议 HTTP协议 HTTPS协议
  • 西门子PLC如何与多个三菱PLC建立无线通信?

    对一个大型工厂 由于生产线的不断改造 新老流程的不断更新 这些PLC系统往往是由不同的制造商提供的 那么在智慧工厂的实现中 常会遇到不同品牌PLC之间需要进行相互通讯的情况 由于场地和生产能效的原因 在后期的系统改造中 通常需要采用无线的方
  • Wireshark抓包及DNS报文分析

    Wireshark抓包及DNS报文分析 来来来 点我进行5分钟视频学习 冲冲冲 一 抓包整体描述 第一行 帧Frame 2 指的是要发送的数据块 其中 所抓帧的序号为2 捕获字节数等于传送字节数 696字节 第二行 以太网 有线局域网技术
  • 编写http接口api及接口自动化测试

    片言 此文中代码都是笔者工作中源码 所以不会很完整 主要摘常见场景的api片段用以举例说明 另 此文主要针对自动化测试人员 尤其有python基础阅读更佳 笔者使用 python3 6 postgresql10 flask 0 12 的环境
  • AUTOSAR从入门到精通-面向服务的中间件SOME/IP(二)

    目录 前言 几个高频面试题目 基于信号的通信和面向服务的通信特点和差异
  • http -- 跨域问题详解(浏览器)

    参考链接 参考链接 1 跨域报错示例 Access to XMLHttpRequest at http 127 0 0 1 3000 from origin http localhost 3000 has been blocked by C
  • http -- 跨域问题详解(浏览器)

    参考链接 参考链接 1 跨域报错示例 Access to XMLHttpRequest at http 127 0 0 1 3000 from origin http localhost 3000 has been blocked by C
  • http通信 axios VS fetch

    基本用法 GET 两者都是基于Promise 所以可以使用 then 也可以使用async await fetch需要手动对相应内容进行转换 axios会根据响应头类型 进行自动转换 所以axios的代码更加简洁 axios get htt
  • http通信 axios VS fetch

    基本用法 GET 两者都是基于Promise 所以可以使用 then 也可以使用async await fetch需要手动对相应内容进行转换 axios会根据响应头类型 进行自动转换 所以axios的代码更加简洁 axios get htt
  • 什么是DLNA

    DLNA旨在解决个人PC 消费电器 移动设备在内的无线网络和有线网络的互联互通 使得数字媒体和内容服务的无限制的共享和增长成为可能 DLNA的口号是Enjoy your music photos and videos anywhere an

随机推荐

  • Docker容器内Superset汉化

    一 进入容器将config py文件中的BABEL DEFAULT LOCALE en 改为BABEL DEFAULT LOCALE zh 进行简单汉化 Setup default language BABEL DEFAULT LOCALE
  • Ubuntu安装idea

    下载 进入https www jetbrains com idea download section linux 选择Ultimate版本 点击下载 我下载的是这个版本 https download jetbrains com cn ide
  • 通过配置NFS使Ubuntu和海思3559A板子共享目录

    之前在Ubuntu和海思3559A板子之间来回拷贝文件都是用的scp命令 不是很方便 这里通过配置NFS来实现它们之间共享目录 操作步骤如下 1 在Ubuntu上安装NFS 执行以下命令 执行结果如下 sudo apt get instal
  • An attempt was made to call a method that does not existThe attempt was made from following location

    Dubbo和zookeeper整合springboot报错 An attempt was made to call a method that does not exist The attempt was made from the fol
  • 利用XMLHttpRequest同步和异步下载二进制文件的解决方案。

    在XMLHttpRequest2里支持二进制数据的下载了 现分别以同步和异步两种方式分别介绍 异步的方式下载 xmlRequest open GET 0 jpg true xmlRequest responseType blob 这里是关键
  • Android Studio的APP目录下的build.gradle的配置说明

    Build gradle属性说明 声明是Android程序 apply plugin com android application android 程序在编译的时候会检查lint 有任何错误提示都会停止build lintOptions
  • 集合框架知识总汇之(list集合)

    目录 编辑 1 UML 统一建模语 3 List集合 3 1特点 3 2遍历方式 3 3List优化 初始容量10 负载因子1 5 3 4LinkedList 队列 堆栈 3 5如何对Arraylist进行去重处理 面试常问题 1 Coll
  • Django4.0+使用rest_framework_jwt的问题

    问题描述 python版本 3 10 Django版本 4 1 djangorestframework jwt版本 1 11 0 在写jwt认证功能时 发现run的时候会报以下错误 from django utils translation
  • VUE 自身页面跳转自身页面

    先说一下要实现的功能 点击原案件 要回到原案件 但是原案件页面和现在的页面一样 也就是自身跳转自身页面 路由地址不变 使用vue祖传的push 方法来挑转的话 你会发现可以跳转过去 但是页面会刷新 不会触发vue生命周期函数 方法一 thi
  • [转]No response for the toolbars in BEx Analyzer 2004s

    Summary Symptom After installing the frontend either from the CD or through applying the frontend support package or the
  • 2022年蓝桥杯省赛 C/C++ A组B题灭鼠先锋题解

    问题描述 本题为填空题 只需要算出结果后 在代码中使用输出语句将所填结果输出即可 灭鼠先锋是一个老少咸宜的棋盘小游戏 由两人参与 轮流操作 灭鼠先锋的棋盘有各种规格 本题中游戏在两行四列的棋盘上进行 游戏的规则为 两人轮流操作 每次可选择在
  • 《UNIX网络编程》卷一第四章学习笔记

    UNIX网络编程 卷一第四章学习笔记 4 2 socket函数 include
  • 2023华为OD机试真题【计算快递业务主站点/回溯法/深度优先搜索】

    题目描述 快递覆盖的范围有N的站 如果A和B都可以用来中转 我们就称A B站可达 如果A B可达 B C可达 则A C达 我们现在有N个编号 如果s i j 1 表示i j可达 如果s i j 0 表示i j不可达 现用二维数组给定N个站点
  • 使用python爬取微信公众号文章

    一 背景 有时候看到某一个微信公众号中的文章 觉得写的非常不错 有种当时就想把该公众号所有的文章都看完的冲动 但是使用手机看不是特别方便 就想把文章全部下载下来到电脑上面看 二 爬虫实现步骤 使用python爬取微信公众号文章 总共分为如下
  • 图片加载防闪动的CSS方法

    图片闪动 在移动端设置图片布局时 图片使用自适应的方式 其父元素的高度是被图片高度撑开的 在图片加载前 父元素高度为0 加载后 父元素高度为图片高度 这样的过程会造成视觉上的闪烁 影响用户体验 因此 在用图片撑开父元素高度之前 就需要给父元
  • 安装sql server时提示缺少.NET 3.5 sp1

    这几天遇到了一个问题 在安装sql server的时候总是提示我没有安装 NET framework 3 5 sp1 但是我电脑上已经安装了它 多次尝试之后我百思不得其解 今天终于解决了 我的系统是win8升级上来的win10 在升级的时候
  • 一种横向业务的解决方案 -- AOP

    AOP Aspect Oriented Programming 即面向切片编程 所谓面向切片编程 就是可以按照时间 将程序分成无数个时间节点 利用AOP的思想 可以在任何一个时间节点插入其他的代码 来实现自己的业务需求 换句话说 对于那些非
  • java循环栅栏CyclicBarrier 使用详解

    1 CyclicBarrier 是什么 从字面上的意思可以知道 这个类的中文意思是 循环栅栏 大概的意思就是一个可循环利用的屏障 它的作用就是会让所有线程都等待完成后才会继续下一步行动 举个例子 就像生活中我们会约朋友们到某个餐厅一起吃饭
  • 单片机c语言屏蔽第四位,【单片机C语言基础入门】第四章:运算符与表达式

    大家好 今天和大家探讨的是单片机C语言中的运算符和表达式 前边介绍了C语言中的变量的表示 然而在计算的过程中只有变量是不能完成计算的 因此运算符和表达式为变量 包括常量 来做特定的操作 来实现数据的运算 因此运算符和表达式是C语言中不可或缺
  • 网卡多队列 (解决traceroute路由不能直达)以及高丢包问题

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