开始新对话

未解决

此帖子已超过 5 年

3193

2013年5月27日 02:00

Iometer学习笔记之三:详解“Access Specifications Tab”

​ ​
​ ​

​Iometer​​学习笔记之三:详解“​​Access Specifications Tab​​”​

​ ​
​ ​

​ ​

​Iometer学习笔记一:初识Iometer​

​ ​

​Iometer学习笔记二:详解“Disk Target Tab”​

​ ​

​Iometer学习笔记之三:详解“Access Specifications Tab”​

​ ​

​Iometer学习笔记之四:详解“Results Display Tab”​

​ ​

​Iometer学习笔记之五:详解“Test Setup”tab(1)​

​ ​

​Iometer学习笔记之六:详解“Test Setup”tab(2)​

​ ​

​ ​

​转载请在文首保留原文出处:​​EMC​​中文支持论坛​​https://community.emc.com/go/chinese​

​ ​
​ ​

​介绍​

​ ​
​ ​

​ ​

​ ​​Access Specifications tab​​允许用户控制每一个​​worker​​对其选中的​​target​​所执行的​​I/O​​类型。该​​Tab​​下主要包括​​Global Access Specification​​和​​Assigned Access Specifications​​列表以及一些按钮,我们将详细介绍它们的意义和使用方法。​

​ ​


​ ​
​ ​

​更多信息​

​ ​
​ ​

​ ​

​Global Access Specifications​​和​​Assigned Access Specifications​​列表​

​ ​iometer.png​ ​
​ ​

​ Global Access Specifications​​列表列出了当前定义的所有访问规则(​​Access Specification​​),​​一个访问规则可以指定一种类型的​​I/O​​或多种类型的混合​​I/O​​。​​Assigned Access Specifications​​列表显示了当前指派给选中的​​worker​​的访问规则,可以通过选中一个或多个访问规则并点击​​Add​​按钮将其指派给​​worker​​。每个访问规则由​​名称​​和​​图标​​组成,名称由用户定义,最好是能清楚的描述该访问规则的形态。图标指定了访问规则的​​Default Assignment​​,它决定了创建一个​​worker​​后会自动分配哪一个访问规则给它。一共有​​4​​种​​Default Assignment​​:​​All Workers​​、​​Disk Workers​​、​​Network Workers​​以及​​None​​。​

​ ​


​ ​

​ 在​​Assigned Access Specifications​​列表中,每一个访问规则左侧的​​LED​​(带有颜色的圆圈)表示在测试时该访问规则所处的状态:​

​ ​


​ ​
    ​ ​
  • ​ 蓝色:访问规则尚未运行​
  • ​ ​
  • ​ 绿色:正在运行的访问规则​
  • ​ ​
  • ​ 红色:运行完毕的访问规则​
  • ​ ​
​ ​


​ ​

​ 如果​​Assigned Access Specifications​​列表中有多个访问规则,​​Iometer​​会执行一个系列测试(​​series of tests​​),访问规则将从上至下顺序执行,执行每一个访问规则期间,​​Iometer​​运行一个或多个测试(由​​Test Setup tab​​的设置决定),如果​​Test Setup tab​​没有指定运行时间,每个测试会一直运行直到你按了工具栏上的​​Stop​​按钮为止。​

​ ​


​ ​

​ 可以分配不同的访问规则给不同的​​worker​​,例如,让磁盘​​worker​​执行类似数据库的​​I/O​​,同时让网络​​worker​​执行类似​​web-server​​的​​I/O​​(分别用不同的访问规则定义)。如果列表中存在多个访问规则,所有​​worker​​会同时执行它们的首个访问规则,然后执行第二个,等等。如果每一个​​worker​​的访问规则数量不同,拥有少量访问规则的​​worker​​在其他拥有较多访问规则的​​worker​​依然在工作的时候将处于空闲状态。你可以分配一个​​空闲访问规则​​来强制让一个​​worker​​在其他​​worker​​正在工作的时候处于空闲状态。​

​ ​


​ ​

​ 单个访问规则可以多次指派给同一个​​worker​​。例如,如果有两个​​worker​​(​​1​​和​​2​​)以及两个访问规则(​​A​​和​​B​​),可以把访问规则​​A​​和​​B​​指派给​​worker1​​,为​​worker2​​指派访问规则​​A​​的两个副本。这种情况下将运行两个测试:在一个测试中,两个​​worker​​都将运行访问规则​​A​​,在第二个测试中,​​worker1​​运行访问规则​​B​​,同时​​worker2​​再次运行访问规则​​A​​。​

​ ​


​ ​

​ 如果在​​Topology​​面板选中了一个​​manager​​或“​​All Managers​​”, ​​Assigned Access Specifications​​列表将是空的,除非该​​manager​​或“​​All Managers​​”的​​worker​​都采用相同的访问规则列表。在选中了某个​​manager​​或“​​All Managers​​”的情况下对此列表进行更改,那么这种更改会被指派给该​​manager​​或“​​All Managers​​”下的所有​​worker​​。​

​ ​


​ ​

​ 点击​​New​​将弹出​​Edit Access Specification​​对话框,用于创建一个新的访问规则,它显示了访问规则的定义并且允许对其进行修改。每个访问规则可以由多个​​I/O​​形态组成,每个​​I/O​​形态由​​Size​​、​​%Access​​、​​%Read​​、​​%Random​​、​​Delay​​、​​Burst​​、​​Alignment​​、​​Reply​​字段构成,显示​

​ ​

iometer.png

​ ​


​ ​

​ 在中间的表格内,每一行都是一个​​I/O​​形态。下面,我们将介绍其中的每一个字段的含义:​

​ ​


​ ​

​Transfer Request Size​​ – ​​指定每个​​I/O​​请求的读写字节的大小,默认是​​2KB​​,取值范围是​​1​​字节(​​0MB+0KB+1Byte​​)到差不多​​1GB​​(​​1023MB+1023KB+1023Byte​​),仅受限于可用的虚拟内存。​

​ ​


​ ​

​Percent of Access Specification​​ – ​​指定每一种​​I/O​​形态(​​Edit Access Specification​​对话框中间表格内的每一行)所占一个访问规则的​​I/O​​百分比。默认是​​100%​​,取值范围是​​1%-100%​​,增量为​​1%​​。如果一个访问规则有多行(多个​​I/O​​形态),每一行的​​%Access​​字段决定了该行控制的​​I/O​​操作的执行几率,这些几率是​​%Read​​和​​%Random​​字段的几率结合后的结果。每一行的​​%Access​​字段的加法和必须等于​​100%​​,每一行的执行顺序是随机的,但随着测试时间的推移,访问规则中的每一行必然会以指定的几率执行。​

​ ​


​ ​

​注意​​:访问规则越复杂,需要运行测试的时间足够久才能确保随机选择操作会尽可能的与所配置的百分比相当。​

​ ​


​ ​

​Percent Read/Write Distribution​​ – ​​指定读写操作的比例。(对于网络​​worker​​,写操作是​​发送​​,读操作是​​接收​​。当相应的服务器在“写”的时候,网络客户端总是“读”,反之亦然)。例如,指定​​%read = 40%​​,那么一个​​I/O​​有​​40%​​的可能性是“读”,​​60%​​的可能是“写”。这意味着读和写是随机的,但随着访问规则的执行,总的来看,​​Iometer​​会平均执行​​40%​​读和​​60%​​写(​​2​​:​​3​​的读写比例)​

​ ​


​ ​

​Percent Random/Sequential Distribution​​ – ​​指定随机访问率(默认是​​100%​​)。例如,​​%Random = 60%​​表示一个​​I/O​​有​​60%​​的机会是访问一个随机地址,​​40%​​的机会访问一个顺序地址。这个值对于网络​​worker​​是忽略的。​

​ ​


​ ​

​小提示​​:要以顺序的方式访问磁盘,选中该磁盘并指派一个​​worker​​,设置​​# of outstanding I/Os =1​​。​

​ ​


​ ​

​Burstiness​​ Length​​ – ​​指定每个爆发的连续执行的​​I/O​​数量,可以输入任何非​​0​​值,默认是​​1​​。如果​​Reply​​字段为非​​0​​,这里指的就是​​事务​​数量(请求​​+​​响应),而不是​​I/O​​数量。​

​ ​

​Transfer Delay​​ – ​​指定在每一个​​I/O​​操作的爆发之前的延迟,默认是​​0​​,可以指定任何非负值,单位是毫秒(​​1000 = 1​​秒)。如果值为​​0​​,​​Burst Length​​是没意义的,因为在爆发之间没有任何延迟。​

​ ​

​ ​

​Align I/O On​​ – ​​指定每一个磁盘​​I/O​​的对齐,默认是“扇区边界”。如果该字段的值是​​n​​字节,则每一个​​I/O​​会在磁盘的​​n​​倍字节处开始执行。取值范围从​​1​​到​​1023MB+1023KB+1023Bytes​​,但指定的值必须是磁盘扇区大小的倍数。指定​​0​​值或选择“扇区边界“单选按钮会使得​​I/O​​在扇区边界对齐。网络​​worker​​忽略该值。​

​ ​


​ ​

​注意​​:如果​​Alignment​​字段不是”扇区边界“且​​Size​​字段并非​​Alignment​​字段值的倍数,那么连续​​I/O​​将不会是真正的连续。例如,如果​​Size = 3KB​​,​​Alignment = 2KB​​,那么每个​​3KB I/O​​在其下一个​​I/O​​之前会有一个​​1KB​​的”洞“。例如,假设扇区是​​1KB​​大小,那么​​I/O​​落到磁盘上的视图就是​​DDDXDDDXDDDX….​​(​​D​​代表​​1KB​​数据,​​X​​代表为了对其而浪费的​​1KB​​空间)​

​ ​


​ ​

​Reply Size​​ – ​​指定对每一个​​I/O​​请求的响应大小,默认是​​No Reply​​。取值范围是​​1Byte​​到​​1023MB+1023KB+1023Bytes​​,仅受限于可用的虚拟内存。​​0​​值或选择​​No Reply​​代表没有响应。​

​ ​


​ ​

​ 如果​​Reply​​字段为非​​0​​值,一旦一个​​I/O​​请求完成,会立刻返回一个响应,即“读”请求会得到“写”响应,或“写”请求得到一个​​”​​读​​”​​响应(个人理解:涉及底层设备​​I/O​​处理,源发起“读”之后,接收方必然要把内容写回发起者的内存、硬盘等位置才能最后被源读取;而写请求也必然要求接收方先读取原先地址的内容才能进行写操作)。请求的大小由​​Size​​字段指定,响应的大小由​​Reply​​字段指定,请求与响应一同被称为一个​​事务​​。每个事务的请求从发起到响应完成所用的时间、最大和平均事务时间、每秒平均事务量都会被记录并报告。​

​ ​

​如果指定了​​Reply​​,​​Reply​​的方向(读或写)总是请求的反方向,同时它的对齐和随机​​/​​连续等设置与对应的请求是一致的。如果指定了​​Burstiness​​,​​Burst​​字段指定的是事务(请求​​+​​响应)数量,而非​​I/O​​数量。​

​ ​


​ ​
​ ​

​参考​

​ ​
​ ​

​ ​

​《I​​ometer​​用户指南》​

​ ​


​ ​
​ ​

​应用于​

​ ​
​ ​

​ ​

​Iometer​

​ ​

2.1K 消息

2013年7月22日 18:00

实际用下来Transfer Delay是个很好的配置,解决的问题是让IOMeter每秒产生固定数量的IO。比如设置为10ms,IOMeter可以每秒产生左右100个IO,开两个Worker每个都是10ms,就是200个左右IO。对于测试固定IO数量的Response Time很好用。

找不到事件!

Top