艾体宝干货丨微突发流量检测与分析:IOTA让网络监控更精准

网络流量中的微突发问题常常难以察觉,但它们可能对网络性能产生显著影响。这篇文章深入探讨了如何利用IOTA来捕捉和分析微突发,帮助您快速有效地解决网络中的突发流量问题。

什么是微突发(Microburst)流量?

微突发是指接口在极短时间(毫秒级别)内收到大量突发流量,以至于瞬时速率达到平均速率的数十倍、数百倍,甚至超过接口带宽的现象。网络流量通常使用链路的平均利用率来衡量,即5分钟的输入或输出率,单位为Mbps或Gbps。5分钟平均值,甚至1秒钟平均值通常都很平滑,显示了网络的稳定状态。如果以更细的粒度(如每毫秒)查看网络中的实际流量,则会发现突发流量要大得多。这些突发非常细微,以至于标准监控工具经常会忽略它们。微突发就是网络流量中的这些短时间峰值。

问题描述

网络中的短期过载(即所谓的Microburst)会影响应用程序的服务质量。传统方法(如交换机和路由器上的接口统计数据以及SNMP数据)很难或根本无法检测到这种情况。这是因为这些方法通常只能评估较长的时间间隔。因此,微突发分析给IT经理的故障排除工作带来了真正的挑战。

入门

下面的示例逐步概述了如何使用IOTA进行微突发分析。

第一步,我们需要配置物理接口。为此,我们导航到左侧菜单树中的捕获菜单,然后导航到接口配置部分。在所示配置中,接口配置为10/100/1000 Mbit/s自动协商的内联模式,这意味着物理接口可以直接从内联链路看到并捕获要分析的流量。如果要将IOTA设置为带外捕获,以接收来自TAP或SPAN端口的流量,则必须取消勾选内联模式框,并单击保存按钮。

图1 物理接口的配置。在本例中,10/100/1000 Mbit/s自动协商为内联模式。

IOTA的放置

为进行微突发错误模式分析,应通过IOTA的集成端口或使用TAP内联部署IOTA。

为了获得真实的场景,IOTA应尽可能靠近发生错误的地点。但是,如果大量客户出现瓶颈,首先必须确定他们使用哪些组件和接口进行通信,以确定适当的点。这通常是向提供商的广域网过渡。

图2 IOTA的位置,用于数据包平均和随后的微突发分析。

开始捕获

放置好IOTA并准备好物理接口后,我们连接到适当的电缆,然后导航到捕获控制部分并单击屏幕底部的开始捕获按钮,开始捕获过程。

图3 使用“捕获控制”部分的“开始捕获”按钮开始捕获。

微突发分析

当用户报告性能问题时,我们首先会询问发生的时间。这通常只是一个非常粗略的时间:例如2023年5月20日,18:50至19:00。在后续工作中,我们首先将时间间隔限制在这个范围内。为此,我们使用时间范围的相对或绝对规格,或“向下钻取”。然后,我们使用导航菜单切换到Microburst仪表板。

图4 使用屏幕右上角的导航菜单切换到Microburst仪表板。

在该仪表板上,可以对负载范围进行下钻,以缩小时间范围。

如图5所示,微突发仪表板根据很短的时间间隔显示微突发。IOTA会自动选择适当的接口,并在右下方窗格中显示以Mb/s为单位的最大入站和出站微突发,以及上方时间间隔内传输的字节数和数据包数。在图表中,传出流量显示为红色,传入流量显示为蓝色。

向下钻取到相应的时间范围后,我们可以看到以200毫秒为时间间隔的微突发发显示。我们检测到1 Gbit/s连接的利用率为998 Mbit/s,相当于满负荷。这一瓶颈导致了性能问题。

图5 以200毫秒的时间间隔钻取后的Microburst仪表板。

不过,我们仍然需要分析是哪个网络流“拖慢”了应用程序。为此,我们需要通过导航菜单切换到应用程序概览仪表板。

图6 应用程序概览仪表板,其中指出了造成被检查微突发的根本原因。

在应用程序概览仪表板上,我们可以看到IOTA识别的应用程序。IOTA使用深度数据包检测来识别使用过的应用程序。如图6所示,Google共享服务的流量导致了微突发。因此,我们回到问题开始的客户端,查看此刻使用了哪些Google服务。我们看到,此时正在运行备份到Google Drive的服务,占用了整个链接容量。

如果应用程序概览仪表板无法识别应用程序,IOTA可以选择在Microburst仪表板中导出相应的时间段。我们可以回到该仪表板,单击导航菜单左侧的下载按钮,这样就可以在需要时使用Wireshark等其他工具分析PCAP。

图7 从Microburst面板直接下载相应时间间隔的数据。

在Microburst面板的底部,我们还可以看到相应的PCAP文件,其中包含时间范围、持续时间和文件大小。我们可以复制这些文件名来下载我们需要的文件。

图8 微突发选定时间间隔内记录的PCAPNG文件列表。

在此基础上,我们导航到捕获文件页面,如图9所示。

图9 导航至“捕获的文件”页面。

在PCAPNG文件列表中,我们选择之前记下的文件名,然后点击下载按钮。

图10 选择和下载PCAPNG文件。

IOTA的优势

由于测量时间间隔较短,IOTA可以检测活动网络组件上的普通接口工作负载无法捕获的临时瓶颈。此外,它还能通过应用识别对这些数据进行相应分析,或将其提供给进一步分析。因此,IOTA为我们分析瓶颈提供了更多可见性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/916621.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SQL 审核在 CloudQuery 的四大场景应用

数据库作为数据的核心载体,其安全性和稳定性对业务的影响至关重要。而在我们日常业务中,SQL 编写不当是引起数据库故障的一个重要原因,轻则影响数据库性能,重则可能直接导致「雪崩」。因此,SQL 审核作为 SQL 代码投入生…

uniapp: 微信小程序包体积超过2M的优化方法

一、问题描述 在使用uniapp进行微信小程序开发时,经常会遇到包体积超过2M而无法上传: 二、解决方案 目前关于微信小程序分包大小有以下限制: 整个小程序所有分包大小不超过 30M(服务商代开发的小程序不超过 20M) 单个…

Node.Js+Knex+MySQL增删改查的简单示例(Typescript)

数据库: CREATE DATABASE MyDB; CREATE TABLE t_users (user_id int(11) NOT NULL,user_name varchar(10) NOT NULL ) ENGINEInnoDB DEFAULT CHARSETutf8; 项目结构: package.json如下,拷贝并替换你们本地的package.json后运行 npm install 命令安装所需要的依赖。…

fastadmin多个表crud连表操作步骤

1、crud命令 php think crud -t xq_user_credential -u 1 -c credential -i voucher_type,nickname,user_id,voucher_url,status,time --forcetrue2、修改控制器controller文件 <?phpnamespace app\admin\controller;use app\common\controller\Backend;/*** 凭证信息…

【论文阅读】利用SEM二维图像表征黏土矿物三维结构

导言 在油气储层研究中&#xff0c;黏土矿物对流体流动的影响需要在微观尺度上理解&#xff0c;但传统的二维SEM图像难以完整地表征三维孔隙结构。常规的三维成像技术如FIB-SEM&#xff08;聚焦离子束扫描电子显微镜&#xff09;虽然可以获取高精度的3D图像&#xff0c;但成本…

JavaScript 中的 undefined 、null 与 NaN :概念解析与对比

文章目录 &#x1f4af;前言&#x1f4af;undefined1. 什么是 undefined2. undefined 的使用场景3. undefined 的特性 &#x1f4af;null1. 什么是 null2. null 的使用场景3. null 的特性 &#x1f4af;NaN1. 什么是 NaN2. NaN 的使用场景3. NaN 的特性 &#x1f4af;三者的区别…

C++编程技巧与规范-类和对象

类和对象 1. 静态对象的探讨与全局对象的构造顺序 静态对象的探讨 类中的静态成员变量(类类型静态成员) 类中静态变量的声明与定义&#xff08;类中声明类外定义&#xff09; #include<iostream> using namespace std;namespace _nmspl {class A{public:A():m_i(5){…

python遇到问题

1&#xff0c;BeautifulSoup lxml 解析器安装 问 1&#xff0c;BeautifulSoup lxml 解析器安装2&#xff0c;BeautifulSoup 如何引入第三方库 BeautifulSoup lxml&#xff0c;默认是导入的是python内置的解析器答1 1. 安装 Python 和 pip 确保你已经安装了 Python 和 pip。你…

async 和 await的使用

一、需求 点击按钮处理重复提交&#xff0c;想要通过disabled的方式实现。 但是点击按钮调用的方法里有ajax、跳转、弹窗等一系列逻辑操作&#xff0c;需要等方法里流程都走完&#xff0c;再把disabled设为false&#xff0c;这样下次点击按钮时就可以继续走方法里的ajax等操作…

MacOS下,如何在Safari浏览器中打开或关闭页面中的图片文字翻译功能

MacOS下&#xff0c;如何在Safari浏览器中打开或关闭页面中的图片文字翻译功能 在Mac上的Safari浏览器中&#xff0c;可以通过实况文本功能来实现图片中的文本翻译。关闭步骤具体步骤如下&#xff1a; 在浏览器地址栏&#xff0c;鼠标右击翻译按钮&#xff0c;然后点击“首选…

31.2 DOD压缩和相关的prometheus源码解读

本节重点介绍 : 时序数据时间的特点DOD压缩原理讲解dod压缩过程讲解dod压缩 prometheus源码解读 时序数据时间的特点 持续采集采集间隔固定&#xff0c;如prometheus配置job中的scrape_interval参数每隔15秒采集一次 - job_name: node_exporterhonor_timestamps: truescrape…

推荐一款好用的ios传输设备管理工具:AnyTrans for iOS

AnyTrans for iOS是一款好用的ios传输设备管理工具&#xff0c;可以方便用户对iphone、ipad、ipod中的文件进行管理操作&#xff0c;可以方便用户在电脑上进行各类文件的管理操作&#xff0c;支持联系人、视频、音频、短信、图片等文件的导入&#xff0c;软件支持双向传输和浏览…

快速利用c语言实现线性表(lineList)

线性表是数据结构中最基本和简单的一个&#xff0c;它是n的相同类型数据的有序序列&#xff0c;我们也可以用c语言中的数组来理解线性表。 一、线性表声明 我们定义一个线性表的结构体&#xff0c;内部有三个元素&#xff1a;其中elem是一个指针&#xff0c;指向线性表的头&am…

计算机毕业设计Python+CNN卷积神经网络股票预测系统 股票推荐系统 股票可视化 股票数据分析 量化交易系统 股票爬虫 股票K线图 大数据毕业设计 AI

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…

QT QLineEdit失去焦点事件问题与解决

本文介绍如何获得QLineEdit的失去焦点事件和获得焦点的输入框也会触发失去焦点事件的问题&#xff01; 目录 一、QLineEdit获得失去焦点事件 1.自定义类继承自QLineEdit 2.重写 focusOutEvent 3.使用 二、失去焦点事件问题 1.问题描述 2.问题解决 三、源码分享 lineed…

vscode执行npm install报错

npm install一直提示报错 以管理员身份运行vscode&#xff0c;如果每次觉得很麻烦可以做如下修改&#xff1a;

【算法】树状数组

前言 众所周知&#xff0c;通过前缀和&#xff0c;我们可以很快的在一个很大的数组中求出区间和&#xff0c;但是如果想要去修改数组中的一个数的值&#xff0c;前缀和就无法实现。所以来学习一个新的数据结构&#xff1a;树状数组 &#xff08;文章中关于树状数组的截图来自于…

Java项目实战II基于微信小程序的私家车位共享系统(开发文档+数据库+源码)

目录 一、前言 二、技术介绍 三、系统实现 四、文档参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发&#xff0c;CSDN平台Java领域新星创作者&#xff0c;专注于大学生项目实战开发、讲解和毕业答疑辅导。获取源码联系方式请查看文末 一、前言 在城市化进…

ZeroSSL HTTPS SSL证书ACMESSL申请3个月证书

目录 一、引言 二、准备工作 三、申请 SSL 证书 四、证书选型 五、ssl重要性 一、引言 目前免费 Lets Encrypt、ZeroSSL、BuyPass、Google Public CA SSL 证书&#xff0c;一般免费3-6个月。从申请难易程度分析&#xff0c;zerossl申请相对快速和简单&#xff0c;亲测速度非…

pipx安装提示找不到包

执行&#xff1a; pipx install --include-deps --force "ansible6.*"WARNING: Retrying (Retry(total4, connectNone, readNone, redirectNone, statusNone)) after connection broken by NewConnectionError(<pip._vendor.urllib3.connection.HTTPSConnection …