测试工具之IOMETER

摘要本文主要介绍为广大服务器和存储厂商采用的磁盘性能测试工具iometer在 Linux和Windows平台上的安装使用和测试方法,并且对典型测试应用的参数配置给出建议,可供相关测试人员参考。

【关键词】iometer dynamo IOPS  

1软件介绍

Iometer是对存储子系统的读写性能进行测试的软件。可以显示磁盘系统的最大IO能力、磁盘系统的最大吞吐量、CPU使用率、错误信息等。用户可以通过设置不同的测试的参数,有存取类型(如sequential ,random)、读写块大小(如64K、256K),队列深度等,来模拟实际应用的读写环境进行测试。Iometer操作简单,可以录制测试脚本,可以准确有效的反映存储系统的读写性能,为各大服务器和存储厂商所广泛采用。

Iometer主要有两个版本:

Ø  iometer-2006_07_27.linux.i386-bin.tgz

dynamo主要是安裝在Linux下的,也是iometer主要在跑的程序.

Ø  iometer-2006.07.27.win32.i386-setup.exe

iometer只要是安裝在windows下的,不负责运行只提供操作介面和显示执行结果。

2安装软件

安装dynamo:

基本上将iometer-2006_07_27.linux.i386-bin.tgz解压缩就可以使用。

iometer_computer_name:运行iometer计算机的名称或IP,通常是windows;

manager_computer_name:运行dynamo计算机的名称或IP,通常是linux;

 

 

安装iometer:

windows机器上双击iometer-2006.07.27.win32.i386-setup.exe,按照提示默认安装。

3使用Iometer

首先在Windows机器上运行程序:开始->所有程序->Iometer2006.07.27->iometer,然后在Linux机器上运行命令:./dynamo i 10.40.179.65 m 10.40.179.113。这样在windows上的管理界面中就可以看到Linux机器上的运行代理。

可以看到HA-B也就是Linux机器的主机名被添加到manager中。Topology显示了所有manager(dynamo副本)的层次化结构以及所有激活的worker(每个dynamo副本的线程数,跟CPU核心有关)。

Disk Targets面板

Targets:

显示了dynamo所在主机的不同分区,在windows上就是C、D,在Linux上就是sda,sdb等;

Maxium Disk Size:

设置每个worker使用的扇区数,默认每扇区512字节;

Starting Disk Sector:

设置每个worker使用的起始扇区;

# of Outstanding I/Os:

模拟测试多个应用向IO请求读写,默认是1。通常不用这个参数,除非是用在NAS/SAN上面。此参数和Test Setup面板上的Cycling Options有关。

Access Specification面板

在右侧Global Access Specifications列出了常用的IO参数,用户可以直接选中添加到左侧使用,也可以双击或点击Edit自定义参数,弹出界面如下:

Transfer Request Size:

设置传输块大小,这个参数值越大则IOPS就越小。

Percent Random/Sequential Distribution:

设置读写数据的随机性,即顺序I/O和随机I/O的占用比例。要得到较高的IO性能当然要选100%顺序。

Percent Read/Write Distribution:

设置读写方式,即读和写在IO中的占用比例。硬盘的读性能要比写性能好,所以100%读可以得到较高的性能数据。

 

Test Setup面板

Run Time:

设置测试运行时间

Ramp Up Time:

一些高级的RAID系统通常会有一块RAM当做IOcache,为避免开始得到的数据来自于这些cache,系统会将这个参数设置的时间不列入最后的性能计算,以便得到真正的IO值。

按下 就可以开始测试了,结果在Results Display面板显示。

Results Display面板

Results Since:

分为两种,Start of Test表示查看iometer在多种参数下跑过的平均值和总和;Last Update表示只看这一次的结果不和前次比较;

Update Frequency(seconds):

设置测试时数据显示刷新频率,通常设为1基本为实时查看,最右边为无穷大表示测试完成后再查看数据;

Total I/Os per Second:

每秒IO数的平均值,它和transfer request size有关,反比关系

Total MBs per Second:

每秒传输的数据量,提高性能可以将transfer request size增大并且为100%顺序读。

Average I/O Response Time:

平均IO响应时间

Maxium I/O Response Time:

最大IO响应时间

测试完成后结果会保存在csv文件以便处理。

4测试模式分析

Ø  最大IO处理能力测试,建议使用:

transfer request size为512bytes;

percent random/sequential distribution为100%顺序;

percent read/write distribution为100%读。

可以得到最大IOPS

Ø  最大带宽能力测试,建议使用:

transfer request size为64 Kbytes;

percent random/sequential distribution为100%顺序;

percent read/write distribution为100%读。

可以得到最大带宽

Ø  特定应用测试:

(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%写。

5常见错误

常见的Iometer错误就是当你的网络环境沒有使用DNS造成hostname和IP无法解析的时候就会看到下面的错误提示!!

===> ERROR: Getting host name for "localhost.localdomain" failed.

     [PortTCP::Create() in IOPortTCP.cpp line 238]

     errno = 11

*** Could not create a TCP/IP Port. exiting.....

解决方法是编辑hosts文件,添加记录如127.0.0.1  HA-B。具体文件位置:Windows NT平台在C:\WINDOWS\system32\drivers\etc\hosts,而Linux和Unix平台在/etc/hosts

你可能感兴趣的:(测试工具之IOMETER)