2022
我们一起努力

Iometer的简单介绍

本文目录:

  • 1、Iometer存储测试工具参数说明-图形主界面(整理)
  • 2、如何用Iometer测试磁盘
  • 3、如何在linux下安装iometer

Iometer存储测试工具参数说明-图形主界面(整理)

1、Topology/Workers: 默认情况下,iometer根据机器的CPU个数生产相对于的worker。 Worker的数量取决于当前机器上的CPU核心数(我的CPU是2600K,4核8线程,所以有8个Worker),每个Worker可以让你制定硬盘同时执行的线程数,多线程测试适合高性能服务器或者企业级的存储设备用的。

2、Targets:(在设置Disk Target时会有3种不同的图标来表示不同类型的硬盘情况)

黄色图标的表示的是”Logical drive 逻辑磁盘“,意思就是已经分过区的,格式化的并且上面拥有文件系统的磁盘。(会显示硬盘分区卷标和卷标名)

如果黄色图标上加了红色删除的线,则代表的是这块逻辑硬盘上没有iobw.tst文件。Iometer在对逻辑硬盘测试前,会生成一个iobw.tst的测试文件,通过对这个文件进行”读取/写入“操作来计算IO成绩和传输率。

蓝色的图标表示的是”原始(RAW)硬盘“的意思,指的是这块硬盘上文件系统无法识别或者没分区和格式化,测试文件不能在上面创建。(会显示硬盘的型号)

这里有一点需要注意,如果之前做过Iometer逻辑硬盘测试,并在这个分区里已经有iobw.tst文件,则在下次做测试前必须先删除,不然是不能改变这个之前测试生成的iobw.txt文件大小的。(也就是说会影响到下次测试的准确性)

3、Maximum Disk Size / Starting Disk Sector / # of Outstanding IO:

A、Maximum Disk Size 

一般的机械硬盘sector(扇区)大小为512字节(扇区为硬盘最小存储单位)。

如果这里使用默认的0时,意思就是写满这块硬盘的所有扇区。

如果你想测的是固定大小时,可以透过设置Maximum Disk Size这个参数来达到。输入1000就代表会在测试前生成一个大小为1000X512字节的iobw.tst测试文件。

Windows系统每个扇区的大小是512Byte,所以这里填20000000就是指Worker 1会占用某盘10GB的空间,另外在做FCSAN/IPSAN磁盘测试时设置的大小推荐大于SAN设备缓存的2倍,太小的话Iometer只跑在缓存上,跑出来的性能会偏高不准确。但是从里一个方面来说,如果我们想让最终的结果看起来好看,那么我们可以将该参数设置的小一点,根据测试目的自己把握吧);

如果你设置的Maximun Disk Size数字比当前磁盘系统的缓冲区小的话,测试成绩很可能是缓冲区性能,速度会爆高,所以适当设大点吧。

 在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左右。

 Iometer使用Maximum Disk Size + Starting Disk Sector的加法和来控制iobw.tst文件的上限大小并以此大小来创建文件。如果该文件已经存在了,更改该值并不能resize iobw.tst。如果两个worker被分配给同一个unprepared逻辑驱动器,那么第一个worker的Maximum Disk Size + Starting Disk Sector的加法和会生效。

B、Starting Disk Sector

指的是由硬盘的第几个扇区开始写入。即Worker1 从哪个扇区开始写它的iobw.tst测试文件,这里保持默认的0即可。

如果Starting Disk Sector是5而Maximum Disk Sizes 是10那么Iometer将对磁盘的5-12扇区进行访问 

C、 of Outstanding I/O

 指的是同时发送的IO请求(聪明人知道这个就是体现NCQ的作用了),预设值是1,一般家用测试不会去修改这个项目的,只有厂家秀分数做广告时会去改成32来跑最大IOPS忽悠用户。

指的是Worker 1在D盘上同时会开多少个异步的IO操作,在主机的CPU、内存能力够强时,并发数越多最终跑出来的结果会越准确,默认的是1个。 具体设置为多少比较好,我们可以实际试一下:先跑1个,看看Result是多少,5个时Result是多少,10个、20个、50个、100个、120个…… 在CPU内存承受范围内,找到一个最合适的值。

of Outstanding I/O被选中worker的每个磁盘一次所允许的未处理的异步I/O的数量。(注意:如果操作完成的非常快,磁盘实际看到的队列深度可能更少,默认值是1)举个例子:假设选中了一个Manager,选中8个Disk,指定# of Outstanding I/O of =16,磁盘被分布到各个worker(每个worker分到2个disk),每个worker对其下的每一个disk生成最大16个未处理I/O,那么整个系统中该Manager每次将生成最多128个未处理I/O(4 worker * 2disk/worker * 16未处理I/O/disk)。

注意:如果系统中未处理I/O的数量非常大,Iometer或Windows会hang、thrash或crash。这里所谓的”非常大“究竟是多少取决于磁盘驱动程序和可用的内存数量。这个问题是由于Windows和某些磁盘驱动程序的限制,并不是Iometer的问题。Iometer允许你设置未处理I/O的数量,而其他应用程序未必,所以其他应用程序对此问题并不常见。

D、Test Connection Rate

指的是Worker 1以什么样的操作频率频率打开、关闭D盘。默认不勾选的意思是,所有的连接都是open状态,直到测试停止。这里我们保持默认即可。

默认是关闭意思是所有磁盘都是在开始访问时开启。在结束访问时关闭。一般来讲磁盘从“打开-访问的IO数-关闭”这个过程称为一个连接。如果开启这个值,并指定了一个数,意思就是Iometer在开始访问磁盘时打开磁盘,发起这个数量的IO后就会关闭磁盘然后重新打开磁盘、执行IO„„周而复始。

Test Connection Rate控制worker多久打开和关闭磁盘一次。默认是Off,表示所有磁盘在测试开始的时候就是打开的,并在测试结束后被关闭。如果Test Connection Rate是打开的,worker会在测试开始的时候打开其所有的磁盘,当指定数量的事务在某个磁盘上执行完毕后,该磁盘就会被关闭,并在下一个I/O达到磁盘之前被重新打开(re-open),事务数量可以是0,意味着worker仅仅重复打开及关闭磁盘。事务是指一个I/O请求及其响应,是否有响应取决于Edit Access Specification对话框中的“Reply Size”设定。每个“打开+事务+关闭”的序列被称为一个连接(Connection),系统会为每个连接记录从打开到关闭所用的时间,系统会报告最大连接时间、平均连接时间以及每秒平均连接数。 

4、Write IO Data Pattern(新版Iometer相比2006和2008版多出来的项目)

Repeating Bytes: 生成的IO数据是重复的,比如第一批IO数据是全”A”,第二批是全”B”,这个数据模型是Iometer 2008里默认使用的,也是最适合SandForce主控压缩算法的,所以SandForce做广告时都是用Iometer 2008的数据。

Peseudo random: 缓冲区里用随机的数据模型填满,写入完后再重新生成新的随机数据到缓冲区,造成每次写入IO都不同。这个数据模型是从最初的版本一直到Iometer 2006默认采用的,非常不适合SandForce主控进行压缩算法。

Full random:生成一套随机的16MB大小的数据模型到缓冲区。每次写入IO都会使用这套缓冲区的随机数据模型。(虽然是随机数据,但是由于每次的随机数据都一样,所以对采用了副本压缩技术的SandForce控制器,相当于每次只需要更新随机数据的索引部分即可,还是能够压缩部分数据。)

1)Transfer Request Size (测试请求的文件大小)

你要测试的文件块大小,比如测4KB随机的就填写4KB,测128KB持续的就填128KB。

2)Percent of Access Specification (当前规则占此测试中的比例)

如果你测试中需要添加多条规则的话,这个就可以设置比例了,比如50%做4KB随机测试,同时另外50%做128KB持续测试。

3)Percent Read/Write Distribution (测试请求的读/写的比率)

当前测试规则的读取/写入比率,比如66%读取的同时34%为写入,打个比方,我们的操作系统运行时在读取的时候,后台也在写入。

4)Percent Random/Sequential Distribution (测试请求的随机/持续比例)

随机和持续占的百分比,比如测4KB随机80%的同时测4KB持续20%。

5)Align I/O on (对齐 I/O到指定大小)

SSD要分区对齐,这里也是这个道理,一般测SSD都是对齐到4KB。如果设4KB,指的是测试的数据每次都是4KB对齐的。

6)设置规则的全局显示

全部设置完了,起个名字,然后最后再看下没问题即可点下面的OK确认。

1)Run Time (测试时间)

可以设置测试的时间,如果全0代表无限。

2)Ramp up Time

我们知道如果磁盘系统使用阵列卡的话,上来会有个很高的缓存数据,为了保证测试数据的准确性,这里可以设置一定的时间,这样测试结果就不会计算这部分时间的数据,得到更真实的测试数字。

1)Update Frequency (Seconds) (成绩更新频率/秒)

成绩更新的频率,你可以设置每秒更新或者60秒一更新等等。

Results Since (结果从哪个时间段开始)

Start of Test - 由于在进行测试时,每一秒的成绩都不同,如果选择这个选项,那么Iometer显示的就是从测试一开始到现在为止的平均值。

Last of Update - 如果选择的是这个,那么Iometer就会显示最后次更新到现在的平均值。(如果你更新频率为30秒,那么成绩就是这个30秒内的平均值)

2)测试结果显示区域(图里的为默认,可以自己选择需要的结果)

Total I/Os Per Second 当前规则下,每秒处理的IOPS数。

Total MBs per Second 当前规则下,每秒的传输率。

Average I/O Response Time (ms) 当前规则下,平均一次IOPS处理时间。

Maximum I/O Response Time (ms) 当前规则下,最大一次IOPS处理时间。

%CPU Utilization (total) 当前规则下,CPU占用率

Total Error Count 当前测试中,测试出错计数。

如何用Iometer测试磁盘

方法:

1、“开始”-》“所以程序”-》“Iometer 。

2、点击Iometer的Worker 1(如果使用多core CPU,每个worker对应一个Core) 选择要测试的磁盘或RAID卷 将“# of Outstanding I/Os”改为“64”。

3、到“Access Specifications”Tab中点击“Default”,然后点击“Edit”: ;

4、到“Access Specifications”Tab中点击“Default”,然后点击“Edit”: 如果要测试写性能,按下图标识1、2、3改动。 说明:标识1可尝试:2 Kilobytes、64 Kilobytes、1Megabytes等值。(块越小IO/s越高,块越大MB/s越大)。

如何在linux下安装iometer

1.修改windows下的host表,添加dynamo_computer_ip dynamo_computer_name

其中,dynamo_computer_ip是运行dynamo的linux机器的ip ,dynamo_computer_name是运行dynamo的linux机器的名字

2.运行windows下的iometer

3.运行linux下的 # ./dynamo -i 59.71.94.44 -m 59.71.94.45

(linux机器的ip为59.71.94.45,windows机器的ip为59.71.94.44)

【Iometer】的内容来源于互联网,如引用不当,请联系我们修改。

赞(0)
文章名称:《Iometer的简单介绍》
文章链接:https://www.fzvps.com/138283.html
本站文章来源于互联网,如有侵权,请联系管理删除,本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
图片版权归属各自创作者所有,图片水印出于防止被无耻之徒盗取劳动成果的目的。

评论 抢沙发

评论前必须登录!