IxChariot使用教程.docx
《IxChariot使用教程.docx》由会员分享,可在线阅读,更多相关《IxChariot使用教程.docx(30页珍藏版)》请在冰豆网上搜索。
IxChariot使用教程
IxChariot5.0配置方法
一.简介
Chariot 是一个独特的测试工具,也是目前在应用层性能测试领域得到业界广泛认可的测试系统。
Chariot 能够评估网络应用的性能和容量,对网络和设备进行压力测试,得到设备及网络在不同应用、不同参数下的吞吐量、时延、丢包、反应时间等性能参数。
Chariot通过各种机制可以仿真任意的应用。
首先,通过内置的脚本,Chariot发送不同的数据流,可以模拟现在常见的125种应用,而且这种数据流是双向的,真正与协议栈进行交互。
Chariot对各种应用的支持是基于在Endpoint之间发送的多种数据流,数据流的传送可基于多种协议,包括TCP、UDP、RTP、SPX、IPX和SNA,目前也已经支持IPv6。
Chariot还支持 Multicast、QoS 等多种先进技术,而且将一直保持同步。
Chariot 允许对脚本进行定制,改变数据流的各种参数,比如起始的启动间隔、发送窗口、接受窗口的大小,发送文件的大小,发送的速率、发送的比特流类型、使用端口等等,而且这些参数不但可以是一个由用户指定的典型数值,而且还能选用在最大、最小值之间符合平均分布、正态分布、泊松分布或者指数分布的随机值,从而真正地仿真网络中各种特定的数据流,全面地测试网络或者网络设备在复杂的网络环境下的性能。
1.1安装
Chariot是NETIQ公司的多功能网络业务测试软件,IxChariot5.0的安装请参见“ixchariot的安装及使用_gengtao.ppt”文档,
http:
//10.1.145.206/bbs/dispbbs.asp?
BoardID=37&ID=882&replyID=&skin=1
本文档重点说明如何配置协议的选择、发包类型、发包的参数;
1.2基本组成
Chariot的基本组成包括Chariot控制台和Endpoint。
Chariot控制台和Endpoint可以安装在同一台机器上。
CHARIOT控制台主要负责监视和统计工作,Endpoint负责流量测试工作,实际操作时Endpoint执行CHARIOT控制台发布的脚本命令,从而完成需要的测试。
Chariot控制台可以运行于Microsoft的各种Windows平台。
在Chariot控制台上可以定义各种可能的测试拓扑结构和测试业务类型。
Endpoint可以运行在几乎目前流行的所有操作系统上。
ChariotEndpoint能够充分利用运行主机的资源,执行Chariot控制台发布的Script命令,从而完成需要的测试。
控制端为该产品的核心部分。
控制界面(也可采用命令行方式)、测试设计界面、脚本选择及编制、结果显示、报告生成以及API接口等都由控制端提供。
Endpoint可根据实际测试的需要安装在单个或者多个终端处,负责从控制端接收指令、完成测试并将测试数据上报到控制端。
点到点电路的测试:
首先,分别在要测试网络的两端各接上计算机A、B,系统可以不限,但网络要能够PING通。
计算机上运行CHARIOT的客户端软件Endpoint。
在实验中,拓扑、软件安装图如下:
二.新建项目
安装完毕后,在您计算机的“开始”菜单中,有如下选项,点击“ChariotControle”;
进入菜单项,如下图:
●选择“New”为新建一个项目;
●选择“open”为打开一个已有项目;
●选择“Design”为图示方式,建立一个项目;
点击“New”按钮,进入chariot的主菜单,如下:
主要有三部分组成:
●菜单/快捷菜单项
●项目定义区域
●结果图示区域
点击上图中的,“AddPair”快捷键即可进行新建项目;
图AddPair
三.协议/脚本类型
3.1协议类型
在图AddPair中,有一个下拉菜单“NetworkProtocol”,其中列出了Chariot5.0所支持的协议类型,有:
APPC,IPX,RTP,RTP-IPv6,SPX,TCP,TCP-IPv6,UDP,UDP-IPv6,共9个协议类型。
3.2脚本类型
Chariot支持多种网络业务,内置超过125个业务脚本,根据需要进行选择。
常用的脚本类型有:
Throughput,ResponseTime
Internet组:
DNS,FTPget,FTPput,HTTPgif,HTTPtext,https-secure-Transaction
NNTP,pop3,SMTP,Telnet
在图AddPair中,“selectScript”按钮,将会弹出“openascriptfile”,可以选择脚本类型,如下图。
3.3工作方式
在发送者和每一接收者之间实现:
(1)AddPair:
点对点,例如:
上图
(2)Multicast:
点对多点
(3)支持VOIP
3.5运行/结束
点击快捷键栏目的RUN即可运行;
此键为奇偶键,项目运行之后,变更为红色的按钮“停止键”;
运行结果图:
3.6运行参数
点击菜单的“Run”-“SetRunOptions”按钮,进入运行参数界面:
根据自己的运行需求进行定制;
四.编辑脚本EditthisScript
4.1配置方法
在定义好协议类型、选择了脚本类型后,我们可以修改脚本文件,即:
把默认值的大小进行修改,以达到我们的使用预期。
在图AddPair中,点击“editthisScript”按钮,将进入编辑脚本页,如下:
注意:
选择的脚本不同,可编辑的脚本参数不同!
当需要编辑一个参数值时,应双击“需要修改的数据行”,即可弹出参数编辑页;
首先双击数据行,例如“source_port”数据行,如下图所示。
页面布局:
●“CurrentValue”为运行的当前值;
●“DefaultValue”为系统默认值,当你不太清楚它的含义时,建议采用系统默认值;
●“Variablehelp”为该参数的说明;
4.2单工与双工
我们一般使用的网络设备都是双工的,也就是说可以在同一时间完成A到B的传输以及B到A的传输。
单工则是同一时间只能有一个方向的传输,要么是A到B,要么是B到A。
因此网络处在单工状态还是双工状态,在速度上差别很大。
4.3网络吞吐量Throughput
在Throughput的脚本编辑页面,主要有以下几个参数可以配置:
序号
名称
说明
默认值
备注
1.
initial_delay
运行的延迟时间;
0
2.
source_port
端口号
自动配置
3.
number_of_timing_records
Endpoint外循环次数;
一般设置在30-200之间
100
4.
transactions_per_record
每一个时序运行的交易数量
1
5.
file_size
发送文件的大小
100000
6.
send_buffer_size
缓冲区大小,直接影响测试结果,最大值为65535;
7.
send_datatype
发送的数据类型
RandomlyGenerated
8.
send_data_rate
数据发送速率
Unlimited
9.
transaction_delay
包之间时间间隔
0
配置表Throughput
一般情况下,设置此值比默认值大时,测试结果的数据值也更理想;
4.3.1number_of_timing_records
Endpoint外循环次数,一般设置在30-200之间。
如果一个脚本创建定时记录太少(少于30),测试过短,你看不到交易时间变化的响应。
如果你有太多的时间记录(超过10,000),结果变得非常大,消耗磁盘空间和减缓控制台的显示处理。
4.3.2transactions_per_record
默认值为“1”;
变量表示每一个时序运行的交易数量。
该变量的最佳值使脚本循环定时记录一次,第二次关于采取足够的时间。
4.3.3file_size
模拟文件的大小,一般采用默认值为“100000”
在文件传输脚本,可以设置模拟的文件大小被发送。
默认值被认为传输的时间太小,这样测试出的数据被认为“不太准确”,我们把这个参数放大10倍。
4.3.4send_buffer_size
缓冲区大小:
对于本例的TCP协议,Throughput的脚本,可设置最大值“65535”
4.3.5send_datatype
发送的数据类型,本例中选择的是随机数据类型“RandomlyGenerated”;
其中有text文件类型,GIF文件类型等;
4.3.6send_data_rate
数据发送速率,这个值可以定量值,例如选择155.52Mbps,也可以选择不受限制“Unlimited”
为了以最快的速度传送数据的可能,选择无限-无限的,请小心使用此值,因为它将占用您的网络带宽。
4.3.7initial_delay
●Constantvalue:
常值,须手工设置一个值;
●UniformDistribution均匀分布,须手工设置一个范围值;
●NormalDistribution正态分布,须手工设置一个范围值;
●PosissonDistributionposisson分布,须手工设置一个范围值;
●ExponentialDistribution指数分布,须手工设置一个范围值;
4.3.8配置实例/查看ResponseTime参数
序号
名称
说明
设置值
备注
1.
initial_delay
0
2.
source_port
端口号
Auto
3.
number_of_timing_records
Endpoint外循环次数;
一般设置在30-200之间
1000
4.
transactions_per_record
每一个时序运行的交易数量
10
5.
file_size
发送文件的大小
10000000
6.
send_buffer_size
缓冲区大小,直接影响测试结果,建议自己定义;
65535
7.
send_datatype
发送的数据类型
RandomlyGenerated
8.
send_data_rate
数据发送速率
Unlimited
9.
transaction_delay
包之间时间间隔
0
测试的结果:
平均带宽为660M;
1G—1G的网络环境:
由于交换机和网线的损耗,往往真实带宽达不到1G,所以本例中得到的660Mbps基本可以说明A、B计算机之间去除损耗可以达到660Mbps的传输速率;
同时可以查看:
系统在660M的带宽下,“TranscationRate”和“ResponseTime”曲线图:
4.4网络吞吐量为固定值
设置send_data_rate为155.52Mbps,其余参数不变,仍使用4.3章节的“配置表Throughput”;
运行结果如下图,实际的发送带宽值为154.8Mbps;
4.5网络吞吐量/双工Throughput
4.3实例中介绍了单向测量的方法,也就是只检测A到B的带宽。
然而,实际工作中,网络是单工或双工工作也是影响网络速度的主要因素,因此用CHARIOT进行测量时应该尽量建立双向PAIR而不是单向的,测量结果会显示出A到B的速度以及B到A的速度。
主要针对问题:
A到B的传输速度很快,但B到A的速度却很慢,特别是在A、B同时从对方计算机复制文件到本机时最为明显。
●建立从A到B的单向测量
在Endpoint1处输入A计算机的IP地址,
在Endpoint2处输入B计算机的IP地址,
按“selectscript”按钮并选择Throughput.scr脚本。
●建立从B到A的单向测量
在Endpoint1处输入B计算机的IP地址,
在Endpoint2处输入A计算机的IP地址,
按“selectscript”按钮并选择Throughput.scr脚本;
配置的界面如下:
运行结果如下:
总带宽之和为:
620Mbps;
绿色曲线表示带宽检测2的数值,而红色曲线代表的是带宽检测1的数值;A到B的平均带宽为359Mbps,而B到A的带宽为261Mbps;
第二次运行结果如下:
总带宽之和为606Mbps,与第一次相比,有浮动值。
4.6Internet-Httpgif
配置参数如下:
序号
名称
说明
设置值
备注
1.
initial_delay
0
2.
source_port
端口号
Auto
3.
number_of_timing_records
2000
4.
transactions_per_record
每一个时序运行的交易数量
1000
5.
size_of_record_to_send
65535
6.
Buffersize_of_record_to_send
65535
7.
control_datatype
RandomlyGenerated
8.
send_data_rate
数据发送速率
Unlimited
9.
transaction_delay
包之间时间间隔
0
使用该脚本时,“control_datatype”系统默认为“Textfile”,但测试出的带宽仅为33Mbps;
修改为“RandomlyGenerated”,测试出的带宽为180Mbps;
4.7Responsetime
4.7.1新建项目
在新建项目中,点击“SelectScript”按钮;
在弹出的菜单中,选择“Response_Time.scr”
4.7.2编辑脚本
序号
名称
说明
设置值
备注
1.
initial_delay
0
2.
source_port
端口号
Auto
3.
number_of_timing_records
Endpoint外循环次数;
一般设置在30-200之间
500
4.
transactions_per_record
每一个时序运行的交易数量
2000
5.
size_of_record_to_send
发送数据的大小
1000
6.
inquiry_send_buffer
查询发送缓冲区大小;
2000
7.
send_datatype
发送的数据类型
RandomlyGenerated
8.
send_data_rate
数据发送速率
Unlimited
9.
transaction_delay
包之间时间间隔
0
inquiry_send_buffer:
查询发送时,缓冲区大小
发送和接收缓冲区可以设置为值“默认”。
这告诉端点使用缓冲区是对正在使用的网络协议的默认大小。
默认让你使用每个协议的默认缓冲区大小,而无需修改脚本来处理协议的差异。
默认值是不同,具体取决于正在使用的协议和平台。
若要将端点发送数据包大小不同,使用随机分布之一:
均匀分布,正态分布,泊松分布,或指数,使用TCP协议时,必须禁用Nagle算法,从“插入”菜单中Nagle算法。
如
Nagle算法说明:
该算法用于对缓冲区内的一定数量的消息进行自动连接。
该处理过程通过减少必须发送的封包的数量,提高了网络应用程序系统的效率。
最初是用于缓冲TCP/IP网络拥塞情况,故为了测试准确数据,需要禁用此算法。
下图:
运行结果如下:
0.0003Sec
4.8科学测量减小误差
任务描述:
对于网络情况不稳定、经常出现速度波动的情况来说,在某一时刻测量速度存在一定的不确定因素,如何将误差降低到最小呢?
我们可以采用科学测量法来解决这个问题,即采用平均值的方法。
将所有测量值汇总在一起可以得到更接近真实数值的结果。
针对问题:
网络传输速度非常不稳定,经常一会儿十几MB/s,一会儿只有几MB/s。
第一步:
按照上面提到的方法安装CHARIOT并将客户端程序Endpoint安装在A与B计算机上。
启动CHARIOT,点击“New”按钮。
第二步:
点击“ADDPAIR”按钮建立一个新的EndpointPair。
输入PAIR名称,然后在Endpoint1处输入A计算机的IP地址,在Endpoint2处输入B计算机的IP地址。
按“selectscript”按钮选择Throughput.scr脚本。
第三步:
在Pair1上点鼠标右键选择Copy将该测量项复制,然后连续向下粘贴9个这样的测量项。
第四步:
点击“RUN”启动测量工作,我们在THROUGHPUT标签页中可以看出基本上每项带宽测量数值在10Mbps左右,在总和处我们可以看到最终结果是94Mbps,基本接近100Mbps的真实值。
在现实中网络的连接速度往往存在着不稳定的因素,例如某一时间可能因为广播数据包或其他原因造成带宽异常,而另一时间速度恢复正常。
对于这种带宽不稳定的情况我们就可以通过多项测量来保证在一定程度上减少误差,使我们的测量结果更加有效、更加准确。
五.小结
(1)IxChariot是一款实用的网络带宽测试工具;
(2)IxChariot的主要使用核心为参数配置,即“EditthisScript”;
(3)不同的脚本类型,需要配置的参数不同;
查看参数的说明,是非常的必须;
(4)不同网络环境,参数的配置值会大不相同;
好的网络环境,参数值可以大一些,测试的结果值会更理想;
但对于相对差的网络,参数值比较大时,反而得不到理想的测试结果;
此文档仅为“抛砖引玉”,如何在实际工作中符合测试预期,需要在理解的基础上,多次根据上次的测试结果,调试您的脚本参数;