Iometer简介

IO Meter是Intel开发的用来测试磁盘和网络I/O性能的软件,在目前测试磁盘系统性能中很常用。在IO Meter中用户可以自行设置进行读写或者写入测试的数据块和队列深度等参数,来进行磁盘最大I/O性能、最大数据吞吐量等指标的测试。还可以通过对参数的不同设置,来模拟磁盘系统在WebServer(网站服务器)、FileServer(文件服务器)和OLTP(OnLine Transaction Processing,在线交易处理)服务器等真实环境中的读写性能。

Iometer版本

Iometer历史版本

2003.xx.xx

2004.07.30

以前的性能测试在此版本上进行

2006.07.27

无法测试蓝鲸

2008.06.22-rc2(目前最新)

以后性能测试在此版上本测试

2008以前版本下载地址:www.iometer.org

2008版下载地址http://sourceforge.net/project/showfiles.php?group_id=40179

Iometer工作原理

Iometer分为控制台和客户端。

控制台也叫iometer端,必须是windows平台,可以为xp,2000,2003及NT系统。甚至Vista和2008。

客户端也叫Dynamo端,可以是windows和linux平台,dynamo端是就是我们要测试的节点。Linux客户端可以是redhat8,9;suse8.1;debian3.0.

在dynamo端执行Dynamo命令使之连接到控制台,控制台可以显示Dynamo端的磁盘设备和文件系统设备,因此可以在控制台指定测试策略来对客户端的设备进行测试,实际的测试负载在客户端产生

Iometer的安装

Window客户端:

iometer-2008-06-22-rc2.win.32.zip

(控制台和客户端均为这一压缩包)

解压后进入iometer-2008-06-22-rc2\src\Release目录,有两个可执行文件iometer.exe和Dynamo.exe文件。

其中iometer.exe为控制台端。Dynamo为客户端。

Linux客户端:

iometer-2008-06-22-rc2.src.tgz

将上面的tgz包拷贝到linux下解压:

Tar zxvf iometer-2008-06-22-rc2.src.tgz

Cd iometer-2008-06-22-rc2/src

可以看到下面有几个文件:

Makefile-Linux.i386

Makefile-Linux.ia64

Makefile-Linux.ppc

Makefile-Linux.x86_64

Makefile-Linux.xscale

Makefile-NetWare.i386

Makefile-OSX.all

Makefile-Solaris.i386

Makefile-Solaris.sparc

如果我们是64位机器,那么我们的编译文件选择Makefile-Linux.x86_64

Make  all   -f Makefile-Linux.x86_64

可以看到目录下生成了一个Dynamo可执行文件。

Dynamo命令

dynamo [-i iometer_computer_name -m manager_computer_name] [-n manager_name]

[-x excluded_fs_type] [-d extra_device] [-f extra_device_file] [-l]               [-c cpu_affinity] [-p login_port_number]

iometer_computer_name –运行iometer的计算机名。用于dynamo和iometer运行于不同计算机时

manager_name -在iometer端显示的运行dynamo的计算机名

manager_computer_name -运行dynamo的计算机名(或ip)

login_port_number -iometer的监听端口,默认是1066

excluded_fs_type

-不被iometer所认识的文件系统类型,默认是"proc shm swap devpts“.

extra_device

-不能被dynamo自动发现的块设备名,可以设置多个,如, -b dev1 -b dev2 -b dev3...

extra_device_file

-如果有大量的附加块设备,可以把设备名字写在一个文件里的一行里。文件要使用绝对路径。

-l –在系统日志记录log信息,默认是/var/log/messages.

cpu_affinity

- cpu关联是把dynamo和一个或几个进程绑定,用来得到更一致的时间。例如,如果想绑定到第3个cpu,应该设置值为4(00000100)。如果没有指定,系统默认是第一个cpu。

Iometer和dynamo的链接

Iometer端:

在iometer-2008-06-22-rc2\src\Release目录下执行iometer.exe

Dynamo端:

◦         Windows节点:在“运行”输入cmd进入控制台。然后一路cd到iometer的dynamo路径下:iometer-2008-06-22-rc2\src\Release,在此目录下执行:

◦         Dynamo –i $iometer_ip -m $dynamo_ip -n name

linux节点:在iometer-2008-06-22-rc2/src下执行

./Dynamo –i $iometer_ip -m $dynamo_ip -n name

准备测试

Iometer和dynamo连接成功后,在iometer控制台可以看到显示的dynamo端的信息:

在target选项页,黄色的设备表示的是文件系统,蓝色的设备表示是磁盘。

如果是测试磁盘,我们就可以直接开始了,如果是测试文件系统,

我们还有另一个工作:           表示不可进行测试,需要先往此文件系统

目录写一个名叫iobw.tst的文件才可以进行测试,通常这个文件通过iometer

顺序写入,大小是大于内存2倍以消除缓存影响。

当文件系统目录中写完iobw.tst时,重新连接厚红杠消失,即可进行测试

Iometer主界面

一个worker是一个负载发生器,一个客户端可以

由多个负载发生器。

Disk targets选项页

Maximum Disk Size是设置测试的最大磁盘扇区数

Starting Disk Sector是开始测试的磁盘扇区

(这两个选项通常在测试磁盘时选用)

Of Outstanding I/Os是指队列深度,就是并发连接的指令数(0-256)

(这个参数通常在模拟web服务时使用)

Access specifications

这里是添加访问规则,

在右边可以选择1个或多个访问方式添加到测试中,也可以在左边框调整不同访问方式的执行顺序。

当然,我们可以按照自己的测试需求来设计自己的访问规则

Test setup

Runtime:在这里可以设置每个访问规则的测试时间,一般为3-5分钟,如果设置为0则会一直执行。

Ramp up time:预热时间,一般设为60s。

Cyclins options:可以设置循环选项以不同的循环方式进行测试,大多数情况都是用normal

 开始测试了。。。。

以上配置完成,我们可以开始执行测试了

点击绿色的小旗帜,提示我们保存。测试结果以.csv文件格式保存。

测试执行时,可以在access页看到执行状态,蓝色表示还未执行,绿色表示正在执行,红色表示已经执行完,当全部执行完后,全部恢复蓝色。

也可以在result display选项页查看测试动态。

Result display

在测试执行过程中,实时查看测试情况,点击右边的“>”按钮,以图形方式查看

Iometer介绍与使用的更多相关文章

  1. RAID磁盘阵列介绍

    磁盘阵列 RAID介绍 一.简介: 磁盘阵列(Redundant Arrays of Independent Drives,RAID),有“独立磁盘构成的具有冗余能力的阵列”之意. 最初是由加利福尼亚 ...

  2. CSS3 background-image背景图片相关介绍

    这里将会介绍如何通过background-image设置背景图片,以及背景图片的平铺.拉伸.偏移.设置大小等操作. 1. 背景图片样式分类 CSS中设置元素背景图片及其背景图片样式的属性主要以下几个: ...

  3. MySQL高级知识- MySQL的架构介绍

    [TOC] 1.MySQL 简介 概述 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司. MySQL是一种关联数据库管理系统,将数据保存在不同的表中,而 ...

  4. Windows Server 2012 NIC Teaming介绍及注意事项

    Windows Server 2012 NIC Teaming介绍及注意事项 转载自:http://www.it165.net/os/html/201303/4799.html Windows Ser ...

  5. Linux下服务器端开发流程及相关工具介绍(C++)

    去年刚毕业来公司后,做为新人,发现很多东西都没有文档,各种工具和地址都是口口相传的,而且很多时候都是不知道有哪些工具可以使用,所以当时就想把自己接触到的这些东西记录下来,为后来者提供参考,相当于一个路 ...

  6. JavaScript var关键字、变量的状态、异常处理、命名规范等介绍

    本篇主要介绍var关键字.变量的undefined和null状态.异常处理.命名规范. 目录 1. var 关键字:介绍var关键字的使用. 2. 变量的状态:介绍变量的未定义.已定义未赋值.已定义已 ...

  7. HTML DOM 介绍

    本篇主要介绍DOM内容.DOM 节点.节点属性以及获取HTML元素的方法. 目录 1. 介绍 DOM:介绍DOM,以及对DOM分类和功能的说明. 2. DOM 节点:介绍DOM节点分类和节点层次. 3 ...

  8. HTML 事件(一) 事件的介绍

    本篇主要介绍HTML中的事件知识:事件相关术语.DOM事件规范.事件对象. 其他事件文章 1. HTML 事件(一) 事件的介绍 2. HTML 事件(二) 事件的注册与注销 3. HTML 事件(三 ...

  9. HTML5 介绍

    本篇主要介绍HTML5规范的内容和页面上的架构变动. 目录 1. HTML5介绍 1.1 介绍 1.2 内容 1.3 浏览器支持情况 2. 创建HTML5页面 2.1 <!DOCTYPE> ...

随机推荐

  1. VBS数组

    定义一个数组: dim a(3).这里要注意在VBS里面数组不像其他的例如C,C#,JAVA等数组用[]作为数组标志.VBS采用的是().还需要注意的是,这里定义的数组包含a(0),a(1),a(2) ...

  2. JS宝典

    hammerjs 终止事件流 window.event.returnValue = false; return false; 页面显示调用方法.类似viewWillApper IOS和android表 ...

  3. LINQ to SQL快速上手 step by step

    Step1:建立数据库      在使用Linq to Sql前,我们要将相应的数据库建好.在这个Demo中,使用的数据库是SQL Server Express 2005.      我们首先建立一个 ...

  4. ---Under Ubuntu 14.04

    Thinprint provides driver-free printing. Do you wish to enable this feature? [yes] Disabling timer-b ...

  5. 解决Ubuntu下 Could NOT find CURL (missing: CURL_LIBRARY CURL_INCLUDE_DIR)

    Ubuntu下CMake 编译时出现问题:Could NOT find CURL (missing: CURL_LIBRARY CURL_INCLUDE_DIR) 查找发现  # sudo apt-g ...

  6. java基础十二[集合与泛型](阅读Head First Java记录)

    集合 List 知道索引顺序的集合,ArrayList.LinkedList.Vector三个子类实现了List接口   ArrayList ArrayList没有排序方法,可以用Collection ...

  7. 2014 ACM/ICPC 北京邀请赛 部分 题解

    题目链接:http://acm.bnu.edu.cn/bnuoj/problem.php?search=2014+ACM-ICPC+Beijing+Invitational+Programming+C ...

  8. html 高亮显示表格当前行

    html在线模拟网:http://www.w3school.com.cn/tiy/t.asp?f=html_basic 高亮显示表格当前行 <html> <head> < ...

  9. 第一次正式小用Redis存储

    由于要做一个同一个页面上多种图表数据的下载,考虑到Azure上面的session很不稳定(可用Redis provider存储session,较稳定),故决定改为Azure支持的Redis,顺便也学习 ...

  10. 清除浮动的 why

    如果你想第三个p不被前面的浮动层所影响,就对它进行清除如果没有清除,第三个层就会移到第一个p下面 记住!!浮动是用来布局的~你看你的网页设计图,好几个版块在一条线上就是要浮动了,不需要浮动就是版块跟前 ...