| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> IxChariot测试网络设备性能 -> 正文阅读 |
|
[系统运维]IxChariot测试网络设备性能 |
IxChariot 是一个商业测试工具,,它通过模拟真实应用流来预测现实负载情况下的网络设备和系统的性能,在应用层性能测试领域得到业界认可。 对于企业来说,IxChariot可应用于设备选型、网络建设及验收、日常维护等3个阶段,提供设备网络性能评估、故障定位和SLA基准等服务。 IxChariot测试系统通过在数千个网络节点上模拟上百种协议,提供详尽的网络性能评估和设备测试。使用IxChariot可以全面的评估在有线网络或者无线网络上运行各种应用程序时的性能特性,IxChariot测试系统包括:
都可安装在普通PC或者服务器上,但控制台目前只能安装在Windows操作系统上,而Endpoint支持各种主流的操作系统。 一、工作原理 IXChariot是一个应用层性能测试工具,通过端对端的方法,对不同参数下的吞吐量、时延、丢包等性能参数进行评估。 二、组成 IXChariot由IXChariot控制端和Endpoint组成。控制端需安装在Windows操作系统上,Endpoint则支持各种主流的操作系统(需要下载对应版本),可根据实际测试需要安装在单个或多个终端。 三、环境配置 【前置】:我使用的两台电脑的OS分别是WIN10_HOME_x64(以下称为pc1)和Windows Server 2008_Enterprise(以下称为pc2),分别关闭系统防火墙设置。 1、下载 2、IxChariot软件安装指导 推荐控制端使用IxChariot6.7,远端使用endpoint7.1。 控制端IxChariot6.7安装方法及注意事项:
3. IxChariot6.7 license破解方法:拷贝文件IxChariot-6.70.44-Crack.exe至IxChariot6.7默认安装路径C:\Program Files\Ixia\IxChariot下并以管理员身份运行,点击“patch”完成。 远端endpoint7.1安装方法及注意事项: 1、32位windows系统安装Endpoint客户端pevista32_710.exe;64位windows系统安装Endpoint客户端pevista64_710.exe;其他系统需选择相应的endpoint版本。 2、测试过程中所使用的endpoint版本都必须保持一致。 服务工具我们需要到windows的服务里面看∶windows+R 键入services.msc Endpoint在启动菜单中没有执行程序,要想知道是否已经安装并运行,需要启动任务管理器; ?四、快速入门 运行IxChariot Console,进入IxChariot界面 IxChriot主界面中,有四个选项,分别是“New”、“Open”、“Design”、“Help”。
点击“New”进入“IxChariot?Test”界面,这里是我们控制观察整个测试过程的地方。 点击“Open”进入“Open?a?Test?File”界面,我们可以选择,打开之前保存过的测试文件,文件类型为“.tst”。 对于初始界面的几个选项,我们已经基本了解,下面我们就来具体看一下IxChariot软件是如何使用的。 点击“New”进入“IxChariot?Test”界面后,这里是整个测试的核心控制观察部分,我们将这个界面分为三部分,分别是红色的控制部分、黄色和蓝色的观察部分。 对整个测试进行选择和控制的区域,每一部分的功能如下表所示: ? “Test Setup”区域,这里显示的是整个测试所添加的全部Pairs的情况,在我们还没有点击“Run”前,我们可以从这里查看到“Group”Pairs所属的组、“Run Status”运行状态、“Timing Records of Completed”记录完成的比例情况等等。在一次测试结束后,这里会显示全部的测试结果,包括:“Throughput”、“Transaction Rate” 、 “Response Time” 、 “Raw Data Totals”、“Endpoint Configuration”,点击相应模块即可查看结果信息。如图: 在整个运行过程中以图表的形式实时显示测试结果,对应于黄色区域中的选择,例如我在黄色区域中选择了“Throughput”选择,那么这里显示的就是“Throughput”图表 ?案例一:IxChariot测试设备吞吐量pps 性能测试中,我们一般使用Chariot测试AP的无线数据吞吐量。一般需对上下行吞吐量分别进行测试,我们定义TX为有线到无线的吞吐量,即下行吞吐量;RX为无线到有线的吞吐量,即上行吞吐量。? PC1和PC2通过DHCP分别自动获得地址192.168.1.100和192.168.1.101。(亦可手动配置PC的IP使其互通) 1、运行IxChariot,进入Chariot的主菜单,如下: ?2、点击上图中的“Add Pair”即可进行新建项目: 3、输入客户端1、2的IP地址,源地址Endpoint 1 address输入有线PC2的地址:192.168.1.101,目的地址Endpoint 2 address输入无线PC1的地址:192.168.1.100: 4、选择协议类型,在上图中有一个下拉菜单“Network Protocol”,其中列出了Chariot6.7所支持的协议类型,有:IPX、RTP、RTP-IPv6、SPX、TCP、TCP、TCP-IPv6、UDP、UDP-IPv6,共9个协议类型,我们测试吞吐量一般选TCP: 5、选择脚本类型,在上图中点击“Select Script”按钮将会弹出“Open a Script File”可以选择脚本类型,如下图。我们测试吞吐量,Script可以选择Throughput,时长1min。如果选择High_Performance_Throughput,时长3min以上。 1.若测试吞吐率.则选择"Throughput.scr"(主要应用)或"High_Performance_Throughput.scr" 2.若测试响应时间.则选择"Response_time.scr" 编辑script,测上行 编辑script,测下行点击下图标红方格,再点击黄圈,保存设置 ?6、完成以上步骤就成功创建了一条流。使用Chariot跑流量时,软件在跑上层协议,所以单pair的压力往往不够大,需要选择多pairs跑,pair的数量要求6~10条,将该流复制粘贴到8条流即可. 一般10条就能充分利用路由的资源并显示最高吞吐量,可自己任意设置),并选中,最后点击run(或者点击图中红色方框),如下图 ?7、设置运行时间,点击Run,选择Set Run Options,设置运行1分钟 ?8、点击“运行”,点击“Throughput”查看运行结果,此时测出的就是TX: 9、待运行结束后,点击“Swap Endpoint 1 and Endpoint 2”交换1~8条流的源地址和目的地址,运行查看结果,此时测出的就是RX: ?混合模型:吞吐+响应速度利用copy&paste复制当前的pair,给copy出来的pair加载面向响应速度的测试脚本;然后启动: 如何在吞吐量获得最优结果
扩展: 包转发率,单位是pps(包每秒),每秒钟路由器能转发的数据包的数量。?上查阅资料得 知pps的计算?法是100Mbps?/?8?/?(64B+20B)=0.1488Mpps,其中100Mbps指的是路由器的设计带宽,除以8是将bps转化为Byteps,64B指的是以太?最?数据包的??,20B是每个数据包在传输时的固定损耗,另外,要说明?下,这20B的损耗通过抓包?具是?法捕获的。我们再来看 ?下pps这个计算?式,100Mbps?/?8?/?(64B+20B)=0.1488Mpps?的计数单位是“个”,因为在100Mbps除以8之后,此时计数单位就是Byteps了,也就是Byte每秒。再?Byteps除以Byte,所 ??得到的就是pps,第?个p也就是包(package)的意思。包转发率的概念是?个“以数量为基础的概念”,通俗的讲,就是?个以“个”为单位的概念,10pps指的就是每秒转发了10个数据包。 接下来我们反着看?下pps的计算?法,100Mbps?/?8?/?(64B+20B)=0.1488Mpps。如果我们使?的数据包?于64B会如何?假如是128B,那公式将会变成这样。176Mbps?/?8?/ (128B+20B)=0.1488Mpps,但我们知道,百兆路由器的设计宽带极限是100Mbps,不可能超过这个数值,所以如果计算百兆路由器的 128B数据包转发率,结果应该是100Mbps?/?8?/ (128B+20B)=0.08446Mpps。结果与0.1488Mpps相差甚远,这说明产?了传输瓶颈,瓶颈来?于百兆路由器的设计标准,??来?于包转发性能。0.1488Mpps的这个极限值,对于百兆路由器来讲,基本上是不可能达到的,原因很简单,路由器的性能不?。我们不妨反着使??下pps 的计算公式,pps?*?(64B+20B) *?8?= bps,如果pps很低,那kps也必然?得可怜。并且在测试中我们发现,?般路由器的pps确实很低。因为pps很低,那我们可以适当放?“64B”这个数值,也 ????就是说,我们不使??包,我们可以使??包,只要最后的乘积bps不?于100Mbps就可以。因为只要不?于100Mbps,那传输瓶颈我们便可认为不存在,此时的瓶颈应该只来?于路由器的包转发性能。 说到这?,可能您会问这样?个问题,路由器转发100个?包是不是?转发100个?包要省事呢? 路由器在处理数据包时,主要的时间花在处理包头、包尾上,对不同??的数据包,路由器每秒能处理的包数量差别不会太?。这就像邮局处理包裹,主要的时间是花在处理寄件?、收件 ?和物品信息以及检查上,包裹重?点轻?点对处理速度影响不会太?。如128Byte包每秒能处理10000个,并不能做到64 Byte包每秒处理20000个,?是只?10000个略多?点点,?如10100个。 我们按着这个思路,使??包去测试?台路由器的吞吐量,在我们得到Mbps之后,只要这个值不?于100Mbps,那我们就可以认为,路由器的传输瓶颈是来?于性能,也就是pps,??是设计带宽。另外,由于路由器的性能瓶颈来?对包头信息的处理,??来?传输数据包本 ?,所以我们可以认为,测试不同??数据包,虽然Mbps结果会不同,但pps性能应该是?个相对平均的数值。 测试脚本采?High_Performance_Throughput,Pair数量为100。IxChariot是?款被普遍使?的?络负载测试?具,对High_Performance_Throughput脚 ?本进?修改,我们可以得到不同??的数据包,Pair数量被设定在 100是因为我们在测试中发现 ?个现象,?如,我们在测试1514B??的数据包吞吐量时,?个Pair可能只有20Mbps左右, 但随着Pair数量的增加,吞吐量也会随之上升,并最终达到吞吐最?值,Pair继续增加,吞吐量也不会出现?的变化。使?100Pairs还有另外?个效果,多Pair在 Netstat中看到的效果就是多TCP连接数,在多连接数下,?强度的吞吐测试对路由器性能和稳定性都是?个考验。 对于为什么路由器的吞吐表现会随着Pairs的数量增加?增加,使?抓包不具,我们也许能看出?些原因。我们修改 High_Performance_Throughput脚本,让Ixchariot产?1024B??的数据包,使?1Pair从PC1发送数据包到 PC2,在抓包?具中我们可以看到,PC1每发送?个1024B??的数据侦,PC2就会返回?个60B左右的数据侦,绝不会出现“不对称”的数据侦。 这是Ixchariot的确认和计数机制,Ixchariot通过统计?个 ????预定长度和格式的脚本?件?差错地从?台服务器传送到另?台服务器的时间来计算出路由器 的Throughput。可能也正因为这种计数、确认机制,使PC1发送出?个数据包后必须要等待?段时间,虽然这个时间很短,待得到 PC2的回应后,才会再发出下?个数数包。此时路由器的包转发性能并没有得到全部利?。如果我们使?多Pairs,那这?问题就可以忽略不计了,在多Paris下,路由器的转发性能会得到最?的利?。 Ixchariot本?是有损耗的,使?Ixchariot测得的 Throughput结果是有效数据负载,不包括TCP协议损耗、帧间隔、应答和Ixchariot本?系统损耗,此部分典型损耗根据理论计算约6M,就是说即使你测试的是?台能线速转发的交换机,测出来的Throughput也只可能是94M左右,这是理论极限值,不可能?于这个值,当然这是对百兆交换机??。但这个损耗也是占?了路由器性能的,所以我们需要在测得的Throughput结果上加6Mbps。 我们分别测试64B、128B、256B、512B、1024B、1514B??数据侦的传输表现,对于测试结果,只要加上Ixchariot的传输损耗(6Mbps)没有超过100Mbps这个极限值,我们便认为,传输瓶颈是来?于包转发性能,?不是路由器的带宽标准。我们需要的,也正是路由器在出现转发瓶颈时的数值。 使?Ixchariot测得的是Mbps,需要将其转换为pps,转换的?法在上?已经说过,(Mbps + 6Mbps) / 8 / (64B、128B、256B…1514B +20B) = Mpps * 1000000 = pps。 红?曲线描绘的是bps?(右侧Y轴),可以看到,随着数据包从64B?1024B,bps?路飙升,但在第?个1514B处?乎停?了增长,再看?下此时的bps值, 是 91.212Mbps,再加上6Mbps的损耗,已经接近100Mbps极限,显然在传输1514B数据包时, 瓶颈来?于百兆路由器的带宽标准,??是包转发性能。将bps换算为pps后,如上图中的黄?曲线,从64B?1024B的传输表现基本保持在?个量级,但在第?个1514B处?幅下降。pps下降?bps却有?量增加,这也说明,100Mbps的带宽标准成为了转输瓶颈。 最后?个Mbps值,默认High_Performance_Throughput脚本,使?这?脚本跑出的数据最为好看,93.523Mbps,如果再加上6Mbps的损耗,已经?常接近100Mbps 了。 在这?说?下High_Performance_Throughput这个脚本。我们使?Wireshark抓包软件,所捕获 ?的Ixchariot最?数据侦为1514B,所以在数据侦递增测试中,我们最后使?的是1514B。前?已经说过,PC1每向PC2发送?个数据包,PC2必须要向PC1返回?个数据包后,PC1才会继续 ?发送下?个包,这是Ixchariot的确认机制。PC2之所以要返回?个确认信息,应该是通知Ixchariot,本次传输完毕,请记录下传输时使?的带宽。但这?会有?个问题,传输?个1514B ??的数据包,不会?满所有路由器的带宽,就是还没有?到100Mbps这个数据就传输完了, 但High_Performance_Throughput脚本默认却不是这样的。默认情况下High_Performance_Throughput是每传完10MB数据才会计数?次,传输10MB数据是需要?定 ??时间的,这样也会?满路由器的全部带宽,所以我们看到1Pair时,High_Performance_Throughput的测试结果是93.523Mbps。 从上?的分析中我们可以看到,bps?pps?定也就?吗?其实不然,相反的pps是?个?较稳定的值,在传输?包时,反?还会受到宽带标准的制约。 测试结果中我们可以看出,包转发率(pps)达到8000左右,传输?数据包,吞吐量就能达到100Mbps了,但此时,?数据包的转发性能其实也只有10000左右。试想?台包 ?转发率为20000的设备,与包转发率为10000的设备在转发?数据包上,表现会有什么不同吗? 似乎不会有任何不同,因为标称带宽(吞吐量)就只有100Mbps,这是上限。但两者的区别会 反应在转发?包时的效率上,在没有到达标称带宽(吞吐量)之前,pps为20000的设备将? pps为10000的要设备快上?倍,当然,这样的设备价钱也会更?。我们关注的核?应该是包转发率(pps),?不应是吞吐量,因为包转发率?了,吞吐量必然?,?吞吐量?,包转发率却不?定?。 在实际应?中,包转发能??分关键,?如?吧?经常玩游戏,每操作?个游戏指令,每扣动?个扳机,转发的全部是?包,这种情下,不存在标称带宽(吞吐量)瓶颈的问题,考验的仅是路由器的包转发能?。如果路由器包转发能?不强,就很难应付?量?包转发的需求, 对于?些时延敏感的应?,例如在线游戏,玩起来就会很不顺畅。 案例二:测试两个节点间的带宽bps 任务描述:假设我们要测量网络中B计算机192.168.4.112与C计算机192.168.4.113之间的实际带宽。 第二步:被测量的机器已经准备好了,这时需要运行控制端CHARIOT,我们可以选择网络中的其他计算机,也可以在B或C计算机上直接运行CHARIOT(图2)。本实例CHARIOT运行在A计算机(192.168.4.82上) 第三步:在主界面中点击“New”按钮,进行基本的设置。如图 ?第四步: 接着点击“ADD PAIR”,在“Add an Endpoint Pair”窗口中输入Pair名称,然后在Endpoint1处输入B计算机的IP地址192.168.4.112,在Endpoint2处输入C计算机的IP地址192.168.4.113。按“select script”按钮并选择一个脚本,由于我们是在测量带宽,所以可选择软件内置的Throughput.scr脚本(图4)。 提示:CHARIOT可以测量包括TCP、RTP、UDP、IPX、SPX在内的多种网络传输层协议,我们在测量带宽时选择默认的TCP即可。 第六步:软件会测试100个数据包从B计算机发送到C计算机的情况。由于软件默认的传输数据包很小所以测量工作很快就结束了。在结果中点击“Throughput”可以查看具体测量的带宽大小。图6显示了B与C计算机之间的实际最大带宽为97.800Mbps。 ?由于计算机B、C均是在A的虚拟机上安装的,所以带宽值很高,本例中得到的97.800Mbps基本可以说明去除损耗,A、B计算机之间可以达到90多Mbps的传输速率。 注:因为本实例中计算机A是虚拟机安装的,本例旨在介绍Chariot,故实际测试还是应该取真实计算机为好。 实际工作中,网络是单工或双工工作也是影响网络速度的主要因素,因此用CHARIOT进行测量时应该尽量建立双向PAIR而不是单向的,测量结果会显示出B到C的速度以及C到B的速度。 针对问题:B到C的传输速度很快,但C到B的速度却很慢,特别是在B、C同时从对方计算机复制文件到本机时最为明显。 操作步骤: 第二步:被测量的机器已经准备就绪,这时需要运行控制端CHARIOT,在B或C计算机上直接运行CHARIOT。 (本例中CHARIOT运行在A计算机) 提示:为保证测量成功,需要在B计算机和C计算机上关闭防火墙。 第三步:在主界面中点击“New”按钮,接着点击“ADD PAIR”。 第四步:在“Add an Endpoint Pair”窗口中输入Pair名称,然后在Endpoint1处输入B计算机的IP地址192.168.4.112,在Endpoint2处输入C计算机的IP地址192.168.4.113。按“select script”按钮并选择一个脚本,由于是测量带宽所以选择软件内置的Throughput.scr脚本。 第五步:现在,我们建立了从B到C的单向测量。由于要求测量网络双向吞吐量,所以还要添加一个从C到B的单向测量,这样结果显示的就是双向数据了。方法与第四步相同,在Endpoint1处输入C计算机的IP地址192.168.4.113,在Endpoint2处输入B计算机的IP地址192.168.4.112,同样选择Throughput.scr脚本。 第六步:现在,两对PAIR已经建立起来了(图7),点击主菜单中的“RUN”启动测量工作。 第七步:软件会将100个数据包从B计算机发送到C计算机,还会测量100个数据包从C发送到B的情况。在结果页面中点击“Throughput”标签可以查看具体测量的带宽大小。如图8所示在下方图表中,绿色曲线表示Browan Test2的数值,而红色曲线代表的是Browan Test1的数值,从这个图中我们可以看出B到C的带宽比C到B的带宽要大。在上方的速度中也可以看出B到C的平均带宽为27.014Mbps,而C到B的带宽只有20.472Mbps。 这说明什么呢?通过CHARIOT测量B、C之间的双向带宽可以得出以下结论:B到C的带宽和C到B的带宽是不同的。在实际的局域网中,计算机与计算机之间数据传输还有路由器、交换机、网线等介质,所以传输速率会有正常损耗,两点之间的相互传输速率是不等的。 注:由于环境因素,本实例中的数据存在很大误差,请实际测试应用实际的计算机客户端。 对于网络情况不稳定、经常出现速度波动的情况来说,在某一时刻测量速度存在一定的不确定因素,如何将误差降低到最小呢?我们可以采用科学测量法来解决这个问题,即采用平均值的方法。将所有测量值汇总在一起可以得到更接近真实数值的结果。 针对问题:网络传输速度非常不稳定,经常一会儿十几MB/s,一会儿只有几MB/s。 操作步骤: 第一步:按照上面提到的方法安装CHARIOT并将客户端程序Endpoint安装在B与C计算机上。启动CHARIOT,点击“New”按钮。 第二步:点击“ADD PAIR”按钮建立一个新的Endpoint Pair。输入PAIR名称,然后在Endpoint1处输入B计算机的IP地址192.168.4.112,在Endpoint2处输入C计算机的IP地址192.168.4.113。按“select script”按钮选择Throughput.scr脚本。 第三步:在Pair 1上点鼠标右键选择Copy将该测量项复制,然后连续向下粘贴9个这样的测量项。 ?第四步:点击“RUN”启动测量工作。 案例三:VOIP测试 任务描述:现型的网络环境非常复杂,VOIP应用也很普遍,那么我们也可以用Chariot对VOIP的一些性能进行测试,本例我们就以Browan的FreePP通话时测试两台计算机的一些参数。 针对问题:VOIP通话时的一些参数测试。 操作步骤: 第一步:按照上面提到的方法安装CHARIOT并将客户端程序Endpoint安装在B与C计算机上。启动CHARIOT,点击“New”按钮。 第二步:点击“Add VoIP Pair”按钮建立一个新的Endpoint Pair。输入PAIR名称,然后在Endpoint1处输入B计算机的IP地址192.168.4.112,在Endpoint2处输入C计算机的IP地址192.168.4.113。。 ? ?第三步:点击“Advanced”按钮,弹出详细的参数设置筐。 第四步:点击“OK”按钮,运行”RUN”。通过运行结果,可以看出网络吞吐量Throughput、VoIP MOS值、One-Way Delay、Jitter等 第五步:重复1-3步骤,在运行”RUN”前,进行简单的参数设置,并在B、C计算机都运行FreePP软件,使得B计算机和C计算机进行VOIP通话。 第六步:运行”RUN”,看结果。 第七步:通过VoIP MOS值对比,可以看出进行VOIP通话前后MOS值的变化。 未进行VOIP通话前MOS值 进行VOIP通话时的MOS值 当然Chariot所给出的结果并非MOS值一个,还有Jitter等,本例旨在说明Chariot在网络测试方面的强大功能,简单的说明怎么去应用它。 总结:Chariot的功能强大,远不止这些,关于更多更深入的功能,需要我们去深入学习、挖掘。本文的几个例子虽然有些粗浅,但是足以看出Chariot在网络测试领域的强大功能,关于该工具的更深入、强大的功能,希望大家共同去研究探讨,以便于我们的测试工作能够做得更好。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/30 2:11:20- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |