网络测试的方法和手段因测试的目的不同而有所不同。典型的网络设备测试的方法有 2种:
第一种是将设备放在一个仿真的网络环境中,通过分析该产品在网络中的行为对其进行测试;
第二种方法是使用专用的网络测试设备对产品进行测试,如专用的性能分析仪器SmartBits 2000、IXIA 1600 等。 对于网络系统的布线测试、物理连通性的测试和故障监测也有专门的工具,这些工具是一些底层的网络测试和维护工具,如 Fluke 公司的网络听诊器、网络一点通、企业级网络测试仪等等。而网络电缆测试仪、令牌环网测试仪、以太网测试仪还有光缆测试仪等等,都是在网络系统的实施部署和运行维护阶段采用的常用的测试工具。
对于网络协议的一致性测试一般有专门的测试工具来支持,比如说对 ISDN、ATM、ADSL、帧中继等的实现都有专门的测试仪。
对网络系统的测试也有相应的测试工具,最典型和最重要的就是网络协议分析仪。
网络协议分析仪一般有专用的硬件设备和专门的软件。这类协议分析仪典型的功能是数据包的捕捉、协议的解码、统计分析和数据流量的产生。用协议分析仪我们可以捕捉网上的实际流量、提取流量的特征,据此对网络系统的流量进行模型化和特征化。
此外,网络协议分析仪还可以主动地产生大量的数据包施加到网络上,分析网络的响应或对网络系统进行加重测试。
目前典型的协议分析仪有 HP 公司的 Internet Advisor(网络专家系统)、WG 公司的 Domino 系列协议分析仪等。另外还有一些纯软件的协议分析工具,有些甚至可以从网上免费下载。但这类协议分析软件无论在协议的解码能力、解码和数据分析的实时性以及数据流量的产生能力上与用专门硬件实现的协议分析仪相比仍有差距。
还有一些比协议分析仪更高层次的网络性能测试工具,站在应用层的角度使用一些基准流量对网络系统的性能进行分析,代表性的软件是 Ganymede Software 公司的 Chariot 软件。
IxChariot 是一个商业测试工具,它通过模拟真实应用流来预测现实负载情况下的网络设备和系统的性能,在应用层性能测试领域得到业界认可。 对于企业来说,IxChariot可应用于设备选型、网络建设及验收、日常维护等3个阶段,提供设备网络性能评估、故障定位和SLA基准等服务。
Chariot 的基本组成包括 Chariot 控制台和 Endpoint。其中 Chariot 控制台可以运行于Microsoft 的各种 Windows 平台。
在 Chariot 控制台上可以定义各种可能的测试拓扑结构和测试业务类型。
Endpoint 可以运行在几乎目前流行的所有操作系统上。
Chariot Endpoint 能够充分运行主机的资源,执行 Chariot 控制台发布的 Script 命令,从而完成需要的测试。
IxChariot测试系统通过在数千个网络节点上模拟上百种协议,提供详尽的网络性能评估和设备测试。使用IxChariot可以全面的评估在有线网络或者无线网络上运行各种应用程序时的性能特性,IxChariot测试系统包括:
-
IxChariot控制台(Console)
- 测试端点(Performance Endpoint)
-
IxProfile
都可安装在普通PC或者服务器上,但控制台目前只能安装在Windows操作系统上,而Endpoint支持各种主流的操作系统。
一、工作原理
IXChariot是一个应用层性能测试工具,通过端对端的方法,对不同参数下的吞吐量、时延、丢包等性能参数进行评估。
二、组成
IXChariot由IXChariot控制端和Endpoint组成。控制端需安装在Windows操作系统上,Endpoint则支持各种主流的操作系统(需要下载对应版本),可根据实际测试需要安装在单个或多个终端。
Endpoint主要负责从控制端接收指令、完成测试并将测试数据传到到控制端。
三、环境配置
【前置】:我使用的两台电脑的OS分别是WIN10_HOME_x64(以下称为pc1)和Windows Server 2008_Enterprise(以下称为pc2),分别关闭系统防火墙设置。
1、下载
2、IxChariot软件安装指导
推荐控制端使用IxChariot6.7,远端使用endpoint7.1。
控制端IxChariot6.7安装方法及注意事项:
- 安装控制台IxChariot_670.exe,默认安装路径及选项即可,32位或64位系统均可安装。
- IxChariot_670.exe安装完成后,提示安装endpoint6.70选择取消。如下图所示:
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 ENDPOINT官网下载地址:
https://support.ixiacom.com/support-links/ixchariot/endpoint-library/platform-endpoints
四、快速入门
运行IxChariot Console,进入IxChariot界面
IxChriot主界面中,有四个选项,分别是“New”、“Open”、“Design”、“Help”。
选项 |
说明 |
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
IxChariot 支持多种网络业务,内置超过 120 个业务脚本,如 FTP,HTTP,IPTV,Netmeeting,RealAudio 等,选择 IxChariot 提供的 Throughout 测试脚本对被测网络的吞吐量进行了测试。该测试脚本通过发送、接收并确认一个大文件来得出吞吐量的测试结果。
性能测试中,我们一般使用IxChariot测试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"
由于默认脚本的参数并不适用我今天的测试环境,所以我需要对这个脚本稍微的修改下。所以我把文件的大小提高了 10 倍数值。
IxChariot 的脚本写的非常简单易懂,我这里只是把默认的传输文件的大小进行了修改,默认的文件由于太小,在我这里的网络瞬间就传输完毕了,程序认为这样测试出来的数据不正确,
2.若测试响应时间.则选择"Response_time.scr"
编辑script,测上行
编辑script,测下行点击下图标红方格,再点击黄圈,保存设置
6、完成以上步骤就成功创建了一条流。使用Chariot跑流量时,软件在跑上层协议,所以单pair的压力往往不够大,一般情况下一条流基本上都达不到DUT硬件以及软件转发的极限的,可以多加一些,一般选择10条。需要选择多pairs跑,pair的数量要求6~10条,流的增加直接ctrl+c ctr+v就可以完成或者选择流右击,选择Reolication,添加需要的流-1就可以了∶
一般10条就能充分利用路由的资源并显示最高吞吐量,可自己任意设置),并选中,最后点击run(或者点击图中红色方框),如下图
IxChariot 可以在同一台计算机上模拟出很多的请求,在这里我是用的双向请求每个请求分别有 5 个模拟出来的独立线程。
7、默认都是第一个,直到其中一条流中断了就停止,我们选第三个自己设定时间,时间就自己定就读好了,比如30s,一小时或者48小时都可以。长时间的话尽量把下面的图形界面关掉,免得软件挂死。
设置运行时间,点击Run,选择Set Run Options,设置运行1分钟。
8、点击“运行”,或者ctrl+r,点击“Throughput”查看运行结果,此时测出的就是TX:
9、待运行结束后,点击“Swap Endpoint 1 and Endpoint 2”交换1~8条流的源地址和目的地址,运行查看结果,此时测出的就是RX:
不想要图形界面可以在图形界面右击disable图形界面就可以了。图形界面可以看跑流过程中有没有掉坑的情况。
在图形界面区域右击选择Graph选项,设置右侧显示总的吞吐形状即可,就会变成下面这个样子。
也可以选择其中五条一个方向,另外五条另一个方向,或者新增额外的PC跑多个终端的转发等等,都是同一个道理。
跑流过程中可以随时点击小人右边的stop或者ctr+t停止跑流。
总结一下过程∶
1.DUT连接两台装好endpoint的PC,其中要至少有一个配置界面
2.配置好两台PC在可以通
3.配置ixchariot,新建流->设置ip->选择协议->选择脚本->ok
4.复制流
5.设置跑流时间
6.开始跑流
如果跑流中间出现不通的情况,先确定PC之间能不能通,不能就是链路出问题,如果pc可以ping通,跑流工具不出数据,先确定endpoint服务是不是挂掉了,如果是就重新拉起来(本文第二张图),如果不是.可能是ixchariot卡了,保存工程退出重进。其余问题具体问题具体分析。
测试结束的时候,我们可以很方便的看到最后的数据结果,这次测试显示两台计算机之间的网络传输的吞吐量数据在 178Mbps,由于采用的是双向传输所以最后数据大于 100Mbps。
测试的显示图表可以有很多种不同的显示模型,你可以用鼠标右键来选择自己想要看的模型,当然也支持自定义的高级格式。
测试结果的数据图表我们也可以选择用不同的单位级别来查看,当然程序也会默认自动为我们选择一个合适的单位级别。
我们也可以把测试的报告保存成一个文件。
混合模型:吞吐+响应速度
利用copy&paste复制当前的pair,给copy出来的pair加载面向响应速度的测试脚本;然后启动:
如何在吞吐量获得最优结果
- 非常重要的设备吞吐量性能测试,在对客户现场测试演示前应询问公司是否有专用的性能测试版本,并提前对设备进行版本升级。
- 若是支持5GHz频段的AP测试时尽量使用5GHz进行测试,减少受干扰影响测试结果的几率。
- 上行、下行吞吐量测试均可选用High_Performance_Throughput脚本,使用TCP,10条数据流进行测试,测试11AC模式时需要配置20条流,时间为2min为宜。
- 若测试结果不理想,请检查STA的关联状态及连接速率,可在AP串口下用命令查看:2.4G:wlanconfig ath0 list;5G:wlanconfig ath16 list。对STA与AP的距离及角度进行调整使其连接速率稳定在最大连接速率。
扩展:
包转发率,单位是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之间的实际带宽。
操作步骤:
第一步:首先在B、C计算机上运行CHARIOT的客户端软件Endpoint。运行 endpoint.exe 后,任务管理器中多了一个名为endpoint的进程。
第二步:被测量的机器已经准备好了,这时需要运行控制端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即可。
第五步:点击主菜单中的“RUN”启动测量工作。
第六步:软件会测试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同时从对方计算机复制文件到本机时最为明显。
操作步骤:
第一步:首先在B、C计算机上运行CHARIOT的客户端软件Endpoint。
第二步:被测量的机器已经准备就绪,这时需要运行控制端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在网络测试领域的强大功能,关于该工具的更深入、强大的功能,希望大家共同去研究探讨,以便于我们的测试工作能够做得更好。
延伸:
使用Qcheck可以测试网络性能,此软件可以采用TCP、UDP、IPX、SPX协议向网络发送数据流从而来测试网络的吞吐率、响应时间等,利用它,可以很方便地得到网络的真实性能,是一个很好的用户网络健康检查的工具。
在进行测试之前,首先需要单击相应的按钮选择要使用的协议,在右侧单击选中所要使用的测试类型按钮,再单击Run按钮即可开始测试,测试完成以后,会在下面的黑色框中显示出测试结果,也可以单击Details按钮查看详细信息。
下面我们来讲讲软件的主要功能。
1) TCP 响应时间(TCP Response Time)
可以测试响应的最短、平均与最长时间,该测试适用于所有的协议。这个测试和「ping」很像,目的在于让你知道收到另一台机器所需的时间。这个测量一般称为「延缓」或「延迟」(latency)。
Qcheck的运行需要两台计算机,且两台计算机都要安装Qcheck。测试时,从一台计算机向另一台计算机机发送测试命令就可以看到测试的效果了。测试TCP响应时间可以得到完成TCP通信的最短、平均与最长时间等信息。
From Endpoint1:节点1的IP地址;To Endpoint2:节点2的IP地址;Iterations:测试重复次数(1-10之间);Data Size:发送数据包的大小(1bytes~10000bytes之间)
2)Throughput(吞吐量) 用来测试在每秒送出的数据量,以测试网络带宽,它也适用于所有的协议。
要测试从本地计算机与目标计算机之间的网络带宽,可以使用TCP Throughput(TCP传输率)测试,这项测试可以测量出两个节点间使用TCP协议时,每秒钟成功送出的数据量,以此来测试出网络的带宽。具体操作步骤如下。
(1)在From Endpoint 1下拉列表中输入本机IP,表示从本地计算机发送测试,在To Endpoint 2框中输入目标计算机的IP地址。 在Protocol选项区域中单击TCP按钮,在Options选项中单击Through按钮,在DataSize文本框中输入要发送的数据包大小,默认为100Kbytes。
(2)设置完成后单击Run按钮,QCheck开始测试,测试完成后在Throughput Result区域中可显示测试结果。从本计算机到局域网内另外一台计算机的访问带宽为380.953Mbps,如下图:
在测试网络带宽时,往往会因为设备性能、线路质量等各种因素的影响,而使得测试值比实际值要小。因此,为了求得准备的结果,建议使用多台计算机进行多次测试,一般最大值才是网络带宽的真实值。
3)串流测试
使用Qcheck的UDP串流传输率(UDP Streaming Throughput)测试,可以测试多媒体流通需要多少的频宽,以方便网络硬件速度和网络所能达到真正数据传输率间的比较,如多媒体流的带宽,它只适用于UDP和IPX协议。
与多媒体应用一样,串流测试会在无连接的状况下传输数据。在Qcheck中,使用无连接协议的IPX(Internetwork Packet Exchange,网络交换协议)或UDP。Qcheck的串流测试是评估应用程序使用串流格式时的表现,例如IP线上语音以及视频广播。具体操作步骤如下。
(1)在From Endpoint 1下拉列表中输入本机IP,表示从本地计算机发送测试,在To Endpoint 2框中输入目标计算机的IP地址。 在Protocol选项区域中单击UDP按钮,在Options选项中单击Streaming按钮,在DataSize文本框中输入要发送的数据包大小,默认为50Kbytes,最大不超过1Mbit/s,在Duration框中设置持续时间,默认10S。
(2)设置完成后单击Run按钮,QCheck开始测试,测试完成后在Streaming Result区域中可显示测试结果。如下图:
4)Traceroute
相当于Windows中的Tracert命令,用来测试一台计算机到另一台计算机所经过的路由,它只适用于TCP和UDP协议。