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所认识的文件系统类型,默认是\ 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个或多个访问方式添加到测试中,也可以在左边框调整不同访问方式的执行顺序。
当然,我们可以按照自己的测试需求来设计自己的访问规则