iometer测试磁盘IO性能
of Outstanding I/Os per target – 被选中worker的每个磁盘一次所允许的未处理的异步I/O的数量。模拟测试多个应用向 IO 请求读写,默认是 1。通常不用这个参数,除非是用在 NAS/SAN 上面。此参数和”Test Setup”面板上的Cycling Options 有关。(注意:如果操作完成的非常快,磁盘实际看到的队列深度可能更少,默认值是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)。
Test Setup 面板
Run Time:
设置测试运行时间
Ramp Up Time:
一些高级的 RAID 系统通常会有一块 RAM 当做 IOcache,为避免开始得到的数据来自于这些cache,系统会将这个参数设置的时间不列入最后的性能计算,以便得到真正的 IO值
特定应用测试:
(1) 文件服务器
transfer request size为64 Kbytes;
percent random/sequential distribution为100%随机;
percent read/write distribution为80%读 20%写。
(2) Web 服务器
transfer request size为512 Kbytes;
percent random/sequential distribution为100%随机;
percent read/write distribution为100%读。
(3) 在线交易OLTP
transfer request size为8 Kbytes;
percent random/sequential distribution为100%随机;
percent read/write distribution为67%读%33%写。
下面介绍Test Setup tab下的Cycling Options,理解它有助于构建复杂的测试环境,满足对不同场景的需求。
有以下测试类型可供选择,为了简单起见,每个测试用例都将假设所有的对象数量起始值为1,步进类型为线性,步进值是1。
Normal – run all selected targets for all workers: 本测试类型只采用所有对象数量的默认值运行一个测试:所有manager的所有worker都是活动的,所有选中的target将被每一个worker使用,每个磁盘的未处理I/O由Disk Targets tab中的“# of Outstanding I/Os”字段指定。
此测试类型可用于快速测试当前系统配置,它也是默认测试类型。
Cycle Targets – add step targets for all workers at a time
本测试类型将为每一个测试中的每一个worker增加target数量。测试数量由每个worker的target数量的最大值决定。例如,每个worker有三个target,那么本测试类型将运行三个测试:
- 所有worker使用一个target(第一个选中的target)
- 所有worker使用两个target(前两个选中的target)
- 所有worker使用三个target(所有三个target)
这种测试可用于几种不同的场合,例如:
l 为来自不同适配器卡的磁盘分配worker,从而观察在将工作量分布到其他适配器卡之后的系统可伸缩性(scalability)
l 将worker指派给同一个磁盘,观察递增的传输请求队列
l 将worker置于单独的系统,观察一个共享总线的伸缩效果
Cycle Workers – add step workers using all selected targets at a time
本测试类型为每一个测试中的每一个manager增加worker的数量。测试的数量是由每个manager的worker数量的最大值来决定的。例如,如果每个manager有三个worker,本测试将运行三个测试:
- 所有manager使用一个worker(第一个选中的worker)
- 所有manager使用两个worker(前两个选中的worker)
- 所有manager使用三个worker(所有三个worker)
该测试可用于以下场合:
l 如果这些worker位于单独的系统,允许测试共享总线
l 为分布在不同适配器上的磁盘指派worker,观察同一个系统上负载严重的适配器卡的interaction
l 为同一个磁盘指派worker,观察增加请求队列的结果
Increment Targets Parallel – add step targets to all mangers at a time.
本测试类型增加每一个测试的每一个Manager的target数量,分发给该manager的worker。测试数量由【每个worker的target数量的最大值】与【每个manager的worker数量的最大值】的乘积决定。例如,如果每个manager有两个worker,每个worker有两个target,那么本测试类型将运行四个测试:
本测试类型可用于确定一次性从所有客户端增加服务器负载的影响。
Increment Targets Serial – Add step targets at a time
本测试类型增加每一个测试中所有Manager的target总数,并分发给每一个manager的worker。测试数量由【manager的数量】、【每个manager的worker数量的最大值】以及【每个worker的target数量的最大值】的乘积决定。例如,如果每个manager有两个worker,每个worker有两个target,本测试类型将运行八个测试:
本测试类型可用于确定来自许多客户端到服务器的总负载增加量的影响。
Cycle Targets and Workers – add step targets at a time spread across workers
本测试类型将为每一个测试中的一个worker增加target数量,然后重新开始为每一个测试中的两个worker增加target数量,以此类推。测试数量由【每个manager的worker数量的最大值】与【每个worker的target数量的最大值】的乘积决定的。例如,如果每个manager有三个worker,每个worker有两个target,那么该测试类型将运行六个测试:
该测试类型可用于总线和网络的可伸缩性的特征化。
Cycle #Outstanding I/O – run step outstanding I/Os on all disks at a time.
为每一个测试的每一个磁盘worker的每一个磁盘增加未处理I/O的数量(对于网络worker,该值总是1)。测试数量由# of Outstanding I/O参数决定。例如,如果# of Outstanding I/O参数的终止(End)值为4,本测试类型将运行四次。
- 所有worker对所有选中的target上的每一个target使用1个未处理I/O
- 所有worker对所有选中的target上的每一个target使用2个未处理I/O
- 所有worker对所有选中的target上的每一个target使用3个未处理I/O
- 所有worker对所有选中的target上的每一个target使用4个未处理I/O
需要注意的是,每个target所接收到的未处理I/O总量是每个worker的未处理I/O数量与使用该target的worker数量的乘积。
Cycle #Outstanding I/O and Targets – run step outstanding I/Oson step targets at a time.
本测试类型为所有worker的一个target增加未处理I/O的数量,然后为所有worker增加target数量。例如,如果每个worker有两个target,# of Outstanding I/O End = 3,该测试类型将运行六次:
- 所有worker对1个target使用1个未处理I/O
- 所有worker对1个target使用2个未处理I/O
- 所有worker对1个target使用3个未处理I/O
- 所有worker对2个target上的每一个target使用1个未处理I/O
- 所有worker对2个target上的每一个target使用2个未处理I/O
- 所有worker对2个target上的每一个target使用3个未处理I/O
Workers – 用于为“Cycle Workers“和”Cycle Targets and workers“测试类型确定初始worker的数量、步进大小、步进类型(线性或指数),其它所有测试类型都忽略该控制字段(文本框将是灰掉的)。
Targets – 用于为“Cycle Targets“、”Increment Targets Parallel“、”Increment Targets Serial”、”Cycle Targets and Workers”和“Cycle # Outstanding I/Os and Targets”测试类型确定初始target的数量、步进大小、步进类型(线性或指数),其它所有测试类型都忽略该控制字段。默认起始值 = 1,步进值 = 1,线性步进类型。
# of Outstanding I/Os – 用于为“Cycle # Outstanding I/Os”和“Cycle # Outstanding I/Os and Targets”确定未处理I/O的起始和最终数量,步进值和步进类型。对于以上两种测试类型,它会覆盖Disk Targets tab中的# of Outstanding I/Os字段,所有其它测试类型都忽略该控制字段。默认起始值 = 1,最终值 = 32,power base = 2,指数步进类型。网络worker忽略该字段,它的# Outstanding I/Os总是1。
iometer测试磁盘IO性能的更多相关文章
- Linux如何查看与测试磁盘IO性能
1. 查看磁盘 IO 性能 1.1 top 命令 top 命令通过查看 CPU 的 wa% 值来判断当前磁盘 IO 性能,如果这个数值过大,很可能是磁盘 IO 太高了,当然也可能是其他原因,例如网络 ...
- windows上测试磁盘io性能
一.问题由来 前两天搭建一套演示环境,同样的java war包,放在我们这边服务器好好的,放在那边就运行缓慢. 后来把日志改成异步之后就好了. 后边找了个程序测了下io性能,竟然差了7,8倍. 二.软 ...
- CentOS中使用FIO测试磁盘IO性能
$ yum install fio 0x02 命令 随机读: $ fio -filename=/dev/sda1 -direct=1 -iodepth 1 -thread -rw=randread - ...
- linux上测试磁盘IO速度
运维工作,经常要测试服务器硬件性能,以此来判断是否存在性能瓶颈. 下面介绍在linux上测试磁盘IO速度的工具: 1.hdparm CentOS中,安装的两种方法: 1) yum安装. # yum i ...
- [记录]FIO测试磁盘iops性能
FIO测试磁盘iops性能 1.SATA和SAS盘原生IOPS如下: 2.RAID磁盘阵列对应的写惩罚级别: 3.计算功能性IOPS公式如下: 功能性 IOPS=(((总原生 IOPS×写 %))/( ...
- 018 磁盘 IO 性能监控/压测工具(sar、iotop、fio、iostat)
1 sar 命令查看当前磁盘 IO 读写 sar(System Activity Reporter 系统活动情况报告)是 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告 ...
- 磁盘IO性能监控(Linux 和 Windows)
磁盘IO性能监控(Linux 和 Windows) 作者:终南 <li.zhongnan@hotmail.com> 磁盘的IO性能是衡量计算机总体性能的一个重要指标.Linux提供了i ...
- Linux系统性能测试工具(六)——磁盘io性能工具之dd
本文介绍关于Linux系统(适用于centos/ubuntu等)的磁盘io性能测试工具-dd.磁盘io性能测试工具包括: fio: dd
- Linux系统性能测试工具(五)——磁盘io性能工具之fio
本文介绍关于Linux系统(适用于centos/ubuntu等)的磁盘io性能测试工具-fio.磁盘io性能测试工具包括: fio: dd
随机推荐
- C的指针疑惑:C和指针6(指针)
NULL: 对所有指针变量进行显式的初始化是种好事:(1)如果你知道指针将被初始化为什么地址,就直接初始化该地址, (2)否则把它初始化位NULL. 注意:假定变量a存储于位置100. × = 看上去 ...
- Spring第八发—自动装配及让Spring自动扫描和管理Bean
依赖注入–自动装配依赖对象(了解即可) 对于自动装配,大家了解一下就可以了,实在不推荐大家使用.例子: byName:按名称装配,可以根据属性的名称,在容器中寻找跟该属性名相同的bean,如果没有找到 ...
- UVA10954:Add All(优先队列)
题目:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=68990#problem/O 题目需求:在数组中拿出两个数相加,再把结果放回数组中再 ...
- execute sp_executesql 用变量获取返回值
execute sp_executesql 用变量获取返回值 1,EXEC的使用 2,sp_executesql的使用 MSSQL为我们提供了两种动态执行SQL语句的命令,分别是EXEC和sp_exe ...
- DEPHI XE5 XE6 ANDROID IOS开发的几点体会
DEPHI XE5 XE6 ANDROID IOS开发的几点体会 2014-09-04 20:48 1.不纠结于APK或者APP的大小.现在的客户端设备都很廉价,300元以上的新安卓设备都不在乎软件的 ...
- C#中获取时间差
/// <summary> /// 已重载.计算两个日期的时间间隔,返回的是时间间隔的日期差的绝对值. /// </summary> /// <param name=&q ...
- 【android】 如何把gif图片下载到本地
以上图片大家可以看到,虽然是个jpg格式的文件,但是本质上是个动图. 但是发现在咱的图片模块下,本地存储的图片只有一帧,问题出在哪里呢? http获取到的byte[]数据是没问题的 断点跟踪了下,发现 ...
- Tomcat之并发优化
1.位置: (1)/opt/tomcat7/conf下的server.xml文件中<Connector>节点的配置优化,记得先备份. (2)出厂默认(在server.x ...
- java线程方面的知识
java中单继承,多实现的: 若为多继承,那么当多个父类中有重复的属性或者方法时,子类的调用结果会含糊不清,因此用了单继承. 为什么是多实现呢? 通过实现接口拓展了类的功能,若实现的多个接口中有重复的 ...
- JS正则表达式从入门到入土(7)—— 分组
分组 在使用正则的时候,有时候会想要匹配一串字符串连续出现多次的情况,比如:我想匹配字符串Byron连续出现3次的情况. 有些人会直接写: Byron{3} 但是,这种情况仅仅会匹配Byro加上三个n ...