IOmeter

2011-04-08  吕施娟 

IOmeter 是用于度量和描述一个单独系统或几个系统的IO性能的工具,有以下几个功能:
测试磁盘或网络控制器的性能
测试传输带宽及反应能力
连接设备的网络吞吐量
负荷分担性能
系统级的硬件性能
系统级的网络性能
 
IOmeter由两部分组成:Iometer和dynamo
一般要使用多个Iometer对设备发起请求,只启动一个Iometer,在其他主机上启动dynamo命令:dynamo –i 运行Iometer的主机IP –m 本机的IP
只要另一台主机执行“dynamo -i 192.168.0.123 -m 192.168.0.50”,后就可以在运行Iometer的主机上看到运行dynamo的那台主机。
 

点击工具栏上的红圈里的图标,可以添加worker。在一个主机上可以有几个worker对磁盘进行访问。
Maximum Disk Sizes 是指Iometer对多大的扇区进行访问,一般来讲一个扇区是512Bytes,如果是10000的话,就是指Iometer只对5M的磁盘进行访问。默认是0,如果是0,则意味着对整个磁盘扇区进行访问。如果Starting Disk Sector是5,而Maximum Disk Sizes 是10,那么Iometer将对磁盘的5-12扇区进行访问
Starting Disk Sector 是指从哪个扇区开始对磁盘进行访问。默认是0,意思是从第一个扇区开始访问磁盘。
# of Outstanding I/Os 就是红圈里的这个值,这是并发执行的指令数。在目前的环境中,一般这个值就设在16。
Test Connection Rates 是指Iometer的Worker打开和关闭其访问磁盘的频率。默认是关闭,意思是所有磁盘都是在开始访问时开启,在结束访问时关闭。一般来讲:磁盘从” 打开“-”访问的IO数“-”关闭“这个过程称为一个连接。如果开启这个值,并指定了一个数,意思就是:Iometer在开始访问磁盘时打开磁盘,发起这个数量的IO后就会关闭磁盘,然后重新打开磁盘、执行IO……,周而复始。
 
    在Iometer开始对磁盘进行访问时,会先生成一个文件iobw.tst,其大小决定于“Max Disk Size”,如Max Disk Size = 10000,则生成5M的文件,如果Max Disk Size = 0,则生成一个占满全磁盘的文件;这个动作在Iometer“开启-关闭”过程中只做一次。
    之后如果删除这个文件,再对其进行顺序写操作时,发现文件只是指定用于访问磁盘的数据块的大小;如果此时是对磁盘进行随机读或写,那么Iometer出错;如果设置对磁盘进行顺序读,Iometer此时不会对磁盘进行读操作。即:此时只有顺序写操作有效。
    Iometer运行后,使用64K的数据块对本机磁盘进行顺序写,此时带宽为36.5,IOPS为584.0;停止Iometer,删除已生成的文件,再次启动Iometer,此时IOPS一下就升到了1650左右,带宽也变成103左右。

 
主要是指使用哪个网络接口对磁盘进行访问。

Global Access Specifications List 是指已有的Iometer对磁盘的访问规则(右边的一项)
Assigned Access Specifications List 是指已选择的访问规则(左边的一项),可以看到左边的选项中有:
红灯-表示已运行过的规则;
绿灯-表示正在运行的规则;
蓝灯-表示还未运行的规则;
必须要选定访问规则后才能执行Iometer,如果左边是空的,那么点击运行时,Iometer会报错。
可以把左边的值加入到右边,这样就可以测完一个设置,接着测下一个设置。
 

Name 是指正在编辑的规则的名字;
Default Assignment 是指在创建这个规则时把它分配给哪个Worker,有几个选项:All Workers, Disk Workers,     Network Workers, or None.默认是None。
中间的大框是访问的子规则,可以有多个值,通过右边的按钮Insert Before 或者 Insert After来添加。
Percent of Access Specification 是指使用当前这种方式进行访问的概率。如果只有一个规则的话必须是100%。
红圈里的这三个值是比较关注的。
Transfer Request Sizes是用于传输的数据块大小;一般来讲数据块越大,那么它的IOPS就越小。数据块的大小与IOPS的乘积就可以得到系统的吞吐量(也就是带宽的概念)。可以从1byte到1023 MB + 1023 KB + 1023 bytes,
Percent Read/Write Distribution 是指模拟读写的动作,可以这么理解:系统对磁盘发起了10万个IO,这些IO中百分之多少用于读,其余的用于写!
Percent Random/Sequence Distribution 是指用于随机操作和顺序操作的概率分布。
Burstiness :Burst Length是指每一次脉冲所执行IO的数量。Transfer Delay是指每次IO操作脉冲花费的延迟,如果这个值是0,那么Burst Length就不重要了,因为此时两个脉冲之间没有时延。
Align I/Os On 是指磁盘IO的队列。即:Iometer对磁盘进行访问时,每次都是访问这个值的整数倍扇区。如果没有选定”Sector Boundaries“,而是指定一个值2k,同时数据块大小是3k,那么顺序操作就不是顺序的了,这会导致每一个IO和紧接着的IO之间产生1K的空洞。
Reply Size 是指每个磁盘IO请求返回值的大小。
 

 

Test Description 可以输入一些有关这一系列测试的文本描述。
Run Time 是指每一个访问方式(规则)运行的时间。如果是0,那么直到按下Stop按钮,才会停止。
蓝圈里的是每个设置进行测试的时间。
红圈里值是多少秒以前的数据不要(因为测试开始时可能有一个适应过程,刚开始的数据不稳定,所以可以把这些数据过滤掉,这样得到的结果才有分析的价值)。
Number of Workers to Spawn Automatically 不常用,暂不作介绍
Record Results 是指需要记录什么结果,当点击” Start Tests“之后会弹出一个对话框,指定记录文件名。
All: 每一个target、worker、manager和所有的manager都需要记录. (这是默认值.)
No Targets: 除去target之外,其他都要记录;.
No Workers:只记录manager和所有的manager ;
No Managers:只记录所有manager 的概要信息;
None: 不需要记录,选择这个的话,在点击” Start Tests“之后就不会弹出要求输入记录名了。
Cycling Options 主要就是对所有的访问方式都要运行这一系列的测试。
 

所有都设置完后就可以开始测试了。红圈里的值都会记录在先前保存的文档里。
Start of Test 是指从开始测试以来的平均值;Last Update:显示最后更新的值,与更新频率有关,如:更新频率是5ms,那么显示的值就是最后5ms的平均值。
Update Frequency 就是刷新显示数据的频率。
 

Range 是指显示的范围
Show Trace 是指是否显示指针运行的轨迹
 
IOmeter中的参数之间的关系
    IOPS×blocksize / 1024= bandwidth(throughout)
    number of worker ×number of outstanding IO ×1000 / IOPS = Average I/O Response Time (ms)
601°/5995 人阅读/2 条评论 发表评论

小窝  2011-04-08

看不到图


吕施娟  2011-04-08

小窝: 看不到图
现在好了


登录 后发表评论