Iometer是被广大服务器和存储厂商采用的存储系统性能测试工具,通过不同的参数设置可以模拟出存储系统在使用时的IO性能。
Iometer由Iometer和Dynamo两个程序组成。
Iometer是控制程序。使用图形用户接口(GUI),负责配置工作负载、设置操作参数、起动和停止测试及显示测试结果。Iometer告诉Dynamo去做什么,搜集分析数据,将分析数据输出到文件中。在同一时间只能有一个Iometer运行。
Dynamo是负载生成器,没有图形界面。当接收到Iometer发送过来的命令,Dynamo执行I/O性能测试、记录性能信息,然后将数据返回给Iometer。在同一时间可以有多个Dynamo运行,一般它们分别运行在不同的机器上。Dynamo是多线程的:每一个Dynamo可以模拟多客户端程序的负载。每一个运行的Dynamo称为一个Manager,在一个Manager中的每一个线程称为Worker。
目前最新版本是2010发布的,Iometer只支持Windows平台,不支持Linux。而Dynamo 支持Windows,Linux, Solaris, Mac OS X, and Netware。
下载地址:http://sourceforge.net/projects/iometer
在这里,我下载的是2010年发布的版本(也是最新的版本)。我本地为Win7 64位操作系统,故下载的是“iometer-1.1.0-rc1-win64.x86_64-bin.zip”,虚拟机是CentOS64位,下载“iometer-1.1.0-rc1-linux.x86_64-bin.tar.bz2”。(2014-05-31又出了新的稳定版,建议下载最新的,至少目前发现前面下载的版本的Results Display面板处有问题)
Windows上安装iometer:
Windows上解压iometer-1.1.0-rc1-win64.x86_64-bin.zip包,然后双击“IOMETER.exe”,点击同意即可使用,以后使用只需要直接双击“IOMETER.exe”。
Linux下安装dynamo:
(1)解压bz2文件:
这里有2种方式解压bz2文件:
<方式一>
使用命令: bunzip2 iometer-1.1.0-rc1-linux.x86_64-bin.tar.bz2生成iometer-1.1.0-rc1-linux.x86_64-bin.tar
使用tarxvf iometer-1.1.0-rc1-linux.x86_64-bin.tar得到最终文件。
<方式二>
直接使用命令:tarjxvf iometer-1.1.0-rc1-linux.x86_64-bin.tar.bz2
(2) 修改dynamo文件的权限
命令:chmod 777 dynamo
Windows机器IP:172.17.0.120(Iometer安装在该Windows上,机器名:NKOSZ-58)
Linux机器IP:192.168.145.136(机器名:machine001)
Root用户启动dynamo命令:./dynamo -i172.17.0.120 -m 192.168.145.136
注:-i后面连接的是iometer所在机器的IP,-m后面是被测机器的IP,即dynamo所在机器的IP(-i iometer_computer_name -mmanager_computer_name)。
查看iometer界面变化:
注:
1. 上面黄色图标代表的是“logical drive逻辑磁盘”,通常在Windows下的硬盘多是黄色图标;
2. 如果黄色图标加上红色斜杠代表该逻辑磁盘没有iobw.tst档案,iometer做测试时是通过iobw.tst档案来进行“写入/读取”的。通常是未做过iometer测试的硬盘才会有这种图标;
3. 蓝色的图标是“原始(RAW)磁盘”的意思,在Linux下通常看到的是这一类的硬盘。
选择被测磁盘:
设置存取规则(这里以读磁盘为例):
注:
1. 硬盘的读性能要比写性能好,所以100%读可以得到较高的性能数据;
2. 随机I/O和连续I/O,要得到较高的IO性能要选择100%连续存取。
点击“OK”对存取规则设置进行保存。
通过点击“Add”添加存取规则:
设置测试结果显示(隔10秒刷新一下结果):
Update Frequency(seconds):设置测试时数据显示刷新频率,通常设为1基本等同于实时查看,最右边为无穷大,表示测试完成后再查看数据;
Total I/O per Second:每秒IO数的平均值;
Total MBs per Second:每秒传输的数据量;
Test Setup面板:
设置运行时间为5分钟(默认运行时间为0,表示每次测试运行,直到你按停止键来停止此次测试):
点“Start Tests”按钮执行测试:
保存测试结果:
执行完后,查看results.csv测试结果:
参考:http://wenku.baidu.com/view/83ff080fbb68a98271fefa0c.html###
1. 权限问题(已解决)
这里存在一个问题,当前用户zyc的权限有限,只有一个盘符可以访问:
切换至root用户重新启动:
CentOS虚拟机添加了2个scsi接口的硬盘,如上显示为sda,sdb。
2. 测试Linux系统上的磁盘,点击运行,为什么弹出下面的提示?
这是因为:Iometer认为在Windows系统中,扇区大小是512字节,而在Linux中Iometer认为扇区大小不止512字节。配置的存取规则中的传输块大小,得是扇区大小的整数倍才行。
3.启动iometer.exe,报Could notcreate TCP/IP port for Dynamo login!错误(已解决)
然后双击DYNAMO.exe文件,如下:
【分析】:上面提示是获取端口出现错误,原来是因为Dynamo的监听端口默认是1066,它被系统进程services.exe占用了,导致无法启动。
如下,在win7中查看1066端口的占用情况:
通过在任务管理器杀掉services.exe进程后,iometer能正常启动了。但是,系统必须重启了!(services.exe是微软Windows操作系统的一部分。用于管理启动和停止服务。该进程也会处理在计算机启动和关机时运行的服务。这个程序对你系统的正常运行是非常重要的,终止进程后会重启。)
看来services.exe进程对于OS来说确实很重要啊,目前也没找到修改iometer的默认端口的方法。下次如果遇到杀掉services.exe进程后,弹出上面的被注销的窗口,可以尝试在Dos窗口中输入命令:shutdown –a (取消关机)
4.运行报错(未解决)
5.下面这个问题2014-06-10测试Linux磁盘读写速度时经常报,重启了Iometer也还是经常报,官网显示此BUG(http://sourceforge.net/p/iometer/bugs/45/为Open状态)