分类: IT业界
2013-12-05 16:25:26
上一次我们简单介绍了Iometer的组成部分以及如何快速使用Iometer做性能测试,这次我们将详细介绍Iometer图形界面中的“磁盘目标选项卡”。
拓扑面板的“Disk Target tab”
拓扑面板显示当前活动Manager(Dynamos)和Worker(线程)的一个层级列表。点击一个worker、manager、或All Manager可以在Disk Targets,Network Targets和Access Specification tab中查看并修改其设置。默认,manager的名称和其所在机器的名字是一样的,Worker的名字是“Worker n”,可以通过单击选中的manager或worker来修改名字。”All Manager”的名字是不可更改的。
点击某个worker,被选中的targets(磁盘或网络接口)将由该worker使用,其他的设置显示了当前该worker的设置,任何更改仅针对该worker。
点击某个manager,被选中的targets将以轮询的方式分发给该manager下的所有worker。Disk Targets,Network Targets和Access Specification tab显示了该manager下所有worker的公共设置。如果所有worker的设置参数都相等,那么设置项会显示某一个值,否则将是空白的(说明该manager下的worker对该参数的设置不同),任何参数的更改会被应用到该manager下的所有worker。
点击All Manager不会显示任何target,因为manager的target列表可能是不同的。其他设置显示了所有worker的公共参数,任何更改都会被应用到所有worker。
Disk Targets tab允许查看并控制当前选中的worker所使用的磁盘。单击或shift-单击选择任意数量的驱动器供已选worker在测试时使用。Physical驱动器以蓝色图标显示,名称是“PHYSICALDRIVEn”(仅当它们不包含任何信息,除了空闲空间)。Worker直接读写raw disk来访问物理驱动器,而非使用iobw.tst文件。推荐用Physical驱动器进行测试。
Worker通过读写\iobw.tst文件来访问逻辑驱动器,如果该文件不存在,驱动器的图标会有一条红色的斜线。在测试开始的时候,系统会被创建该文件并扩容直至磁盘空间撑满(该过程会在状态栏显示“Preparing Drives”)。当然,可以通过设置Maximum Disk Size来设置该文件的大小,从而控制Iometer使用的磁盘空间。如果该文件存在但是不可写,那么该驱动器被认为是只读的,而且根本不会被显示出来。
Maximum Disk Size – 表示已选worker所允许测试的sector数量。默认值是0,代表整个磁盘或\iobw.tst文件。如果指定一个非零值,Iometer使用指定数量的512-Bytes的扇区,(从Starting Disk Sector开始)。如果指定的值超过了磁盘或文件的范围,该值会被忽略并使用默认值0。举个例子:Starting Disk Sector = 5,Maximum Disk Size = 10,被选中的worker会使用磁盘或文件\iobw.tst的sector 5-14。
Iometer使用Maximum Disk Size + Starting Disk Sector的加法和来控制iobw.tst文件的上限大小并以此大小来创建文件。如果该文件已经存在了,更改该值并不能resize iobw.tst。如果两个worker被分配给同一个unprepared逻辑驱动器,那么第一个worker的Maximum Disk Size + Starting Disk Sector的加法和会生效。
Starting Disk Sector - 起始磁盘扇区(0=物理磁盘或iobw.tst文件的开始),指定lowest-numbered disk sector,默认是0,即磁盘或iobw.tst文件的首个512-byte扇区。
# of Outstanding I/Os per target – 被选中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的数量,而其他应用程序未必,所以其他应用程序对此问题并不常见。
Test Connection Rate:控制worker多久打开和关闭磁盘一次。默认是Off,表示所有磁盘在测试开始的时候就是打开的,并在测试结束后被关闭。如果Test Connection Rate是打开的,worker会在测试开始的时候打开其所有的磁盘,当指定数量的事务在某个磁盘上执行完毕后,该磁盘就会被关闭,并在下一个I/O达到磁盘之前被重新打开(re-open),事务数量可以是0,意味着worker仅仅重复打开及关闭磁盘。事务是指一个I/O请求及其响应,是否有响应取决于Edit Access Specification对话框中的“Reply Size”设定。每个“打开+事务+关闭”的序列被称为一个连接(Connection),系统会为每个连接记录从打开到关闭所用的时间,系统会报告最大连接时间、平均连接时间以及每秒平均连接数。