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
随机推荐
- PHP计算经纬度之间的距离
<?php /** * 求两个已知经纬度之间的距离,单位为米 * * @param lng1 $ ,lng2 经度 * @param lat1 $ ,lat2 纬度 * @return floa ...
- 查看MySQL变量
类似于Oracle的参数文件,MySQL的选项文件(如my.cnf)用于配置MySQL服务器,但和Oracle叫法不一样,在MySQL里, 官方叫变量(Varialbes),但其实叫参数也是可以的,只 ...
- mysql lock
http://blog.chinaunix.net/uid-21505614-id-289450.html http://bbs.csdn.net/topics/340127237 http://ww ...
- java static成员变量方法和非static成员变量方法的区别 ( 二 )
原创文章,未经作者允许,禁止转载!!! 静态成员变量不用new对象,在类加载的过程中就已经初始化存放在数据区域,静态成员变量是类和所有对象共有的,类和对象都可以改变它的值,每一次改变值之后,静态成员变 ...
- WEB前端研发工程师编程能力成长之路(1)
[背景] 如果你是刚进入WEB前端研发领域,想试试这潭水有多深,看这篇文章吧: 如果你是做了两三年WEB产品前端研发,迷茫找不着提高之路,看这篇文章吧: 如果你是四五年的前端开发高手,没有难题能难得住 ...
- C++切割字符串
std::string text = "2001_1;2005_5;"; std::stringstream ss(text); std::string sub_str; std: ...
- 647. Palindromic Substrings(马拉车算法)
问题 求一个字符串有多少个回文子串 Input: "abc" Output: 3 Input: "aaa" Output: 6 思路和代码(1)--朴素做法 用 ...
- netty6---序列化与反序列化
package com.cn; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import ja ...
- PHP SQL写法 积累(注:PHPSQL与LINQ SQL相似)
1: $data ['parentid'] = $pid; M('menu')->where($data)->order(' id asc ')-> select(); // ...
- SQL执行并返回执行前/后结果
SQLServer: 1.插入数据,并返回插入的数据: INSERT INTO TestTB(Province,City) output inserted.Province, inserted.Cit ...