1、iometer使用word版Step 1.下载程序Iometer主要可以用来测试硬盘 I/O 的速度,透过不同的 pattern 可以模拟出 Server / Storage 真正在被存取时 I/O 的效能. Iometer是在 1998年2月17日的 IDF(Intel Develpoer Forum) Intel 所提出来的,但是目前已经移转到 Open Source 来开发,并且 Iometer 已经在 SourceF 注册 ,所有的程序都可以从 sourceforge 中下载. 先来看看 Iometer 的定义是什么.官方说明文件()如下: Iometer:consists of tw
2、o programs, Iometer and Dynamo.Iometer is the controlling program. Using Iometers graphical user interface, youconfigure the workload, set operating parameters, and start and stop tests. Iometertells Dynamo what to do, collects the resulting data, and summarizes the results inoutput files. Only one
3、copy of Iometer should be running at a time; it is typicallyrun on the server machine. Dynamo: is the workload generator. It has no user interface. At Iometerscommand, Dynamo performs I/O operations and records performance information,then returns the data to Iometer. There can be more than one copy
4、 of Dynamorunning at a time; typically one copy runs on the server machine and one additionalcopy runs on each client machine.简单的来说就是 Iometer 是由 控制 以及 显示执行结果 的两只程序所组合而成的.其中 控制 就是 Dynamo 主要是产生硬盘压力测试的程序.不管要测试的平台是 Windows 或是 Linux 都要安装这两支程序.但是在 Windows 他会一起把这两个程序一起带起来.注意观察一下执行在 windows 平台时除了 Iometer 的显
5、示画面外还有一个 command line 的程序也被带起来.这就是 Dynamo.这里是专为 Linux 平台讲解 Iometer 的工作方式,主要在使用 Iometer for Linux 时需要两支程序.1.iometer-2006_07_27.linux.i386-bin.tgz dynamo 主要是安装在 Linux 下的.也是 IOmeter 主要在跑的程序.2.2.iometer-2006.07.27.win32.i386-setup.exe IOmeter 只要是安装在 windows 下的, 不负责运行只提供操作接口和显示执行结果.Dynamo 有 windows 和 Lin
6、ux 版本的, 但是 Iometer 只有 windows 版, 所以在 Linux 平台下还需要额外一台 windows 的 IOmeter 看执行结果. 目前 IOmeter 的版本 2008 的是 iometer-devel 的版本, 2006 是 IOmeter-stable 的版本 Step2.安装 dynamo(SUT-Linux-IP:10.32.6.205)基本上解开 iometer-2006_07_27.linux.i386-bin.tgz 就可以使用了.rootbenjr # tar zxvf iometer-2006_07_27.linux.i386-bin.tgzroo
7、tbenjr # cd iometer-2006_07_27.linux.i386-bin/srcrootbenjrsrc# dynamo -i iometer_computer_name -m manager_computer_nameex:rootbenjr src# dynamo -i 10.32.6.149 -m 10.32.6.205(i) iometer_computer_name - the name of the computer running IometerThis is only needed if Dynamo and Iometer are running on di
8、fferent computers. Without this parameter, Dynamo will search for Iometer on the local host.(就是Windows 这一台的 IP)(m) manager_computer_name - the name of the computer running this DynamoThis name or IP address is the one Iometer will use to communicate with this manager. The default is the IP adress of
9、 the hosts first NIC.(就是Linux 那一台的 IP)基本上 dynamo 这样执行完成就不需要做任何设定,接下来所有的控置都是透过 Windows Iometer 去设定.如果有用到 dynamo 无法执行时建议你下载 source - iometer-2008-06-22-rc2.src.tgz ,再重新编译 dynamo.解开后到目录 #cd ./iometer-2008-06-22.rc2/src 并执行 #make -f Makefile-Linux.x86_64 dynamo其中的 Makefile-Linux.x86_64 请依据自己的操作系统版本来选择.重
10、新编译后的 dynamo 一定可以在你自己的平台上使用Step 3.安装 Iometer(Controller-Windows-IP: 10.32.6.149)就执行这一支程序就是了 iometer-2006.07.27.win32.i386-setup.exe 步骤就不多加说明.Step 4.使用 Iometer在 Windows 环境中点选 start / All programes / Iometer 2006.07.27 / Iometer 开启 iometer ,不过他同时也会开起 dynamo 这只程序.可以看到 benjr.tw 那一个就是 Linux 端的 dynamo.而 G
11、ENUINE-9A209BE 是 windows 本机上的 dynamo,跑的方式和 Windows 版的一样.其中的 Worker 个数是取决于系统上 CPU core 的个数,如果你以前用过 Windows 版的 iometer 你可能会看不懂 Linux 的 Targets 的显示,一般 windows 显示 C: D:代表不同的 partition,但是 Linux系统下你会看到 sda(sda1,sda2.) sdb(sdb1,sdb2.)则代表了系统上的第一颗硬盘 (sda )第一个扇区(sda1)以此类推.目前不管是 SATA 或是 SAS 还是 JBOD / Storage 的
12、硬盘应该都会表示成 sdx .3.Topology / Worker#: worker 的数量取决于系统上的 CPU 个数,同时每个 worker 可以让你指定磁盘同时执行的线程 thread 数目.一个 worker 执行一个 thread,不过通常我们只会跑一个 worker,只有应用在对一些高性能服务器或是企业级级的储存设备才需要增加 Worker 数目,已取得最大的效能值.4.Targets: 5.在设定 Disk Target 时会有三种不同图示来表是不同的硬盘,如下图所示: 黄色的图示所代表的是 logical drive 逻辑磁盘 ,通常在 Windows 下的硬盘多是黄色的图示
13、. 如果黄色的图示加上红色删除线所代表的是该逻辑磁盘并没有 iobw.tst 档案,iometer 在做测试时是透过 iobw.tst 档案来进行 写入/读取 的测试.通常是尚未做过 iometer 的硬盘才会有这种图示. 蓝色的图标是 原始(RAW)磁盘 的意思,在 Linux 下通常看到的都是这一类的硬盘.有一点要注意的是当你的 iobw.tst 档案已经建立好,必须删除 iobw.tst 再去调整设定 Maximum Disk Size / Starting Disk Sector 才会改变 iobw.tst 档案的大小.6.Maximum Disk Size / Starting Di
14、sk Sector / # of Outstanding IO: 一般的硬盘 sector 大小为 512bytes (sector 为硬盘最小储存单位),如果这边是使用默认值时,写入所有该磁盘的所有扇区(Sector),如果你想测是固定大小时可以透过设定 Maximum Disk Size 与 Starting Disk Sector ,如果你设定Maximum Disk Size 为 100 就会写入数据 100 *512 bytes 大小的数据,而Starting Disk Sector 可以指定由哪一个 sector 开始写入.至而 # of Outstanding I/O 主要是在模
15、拟测试同时多个应用程序向 I/O 请求读写,默认值是 1 .一般是不会是用到这个项目.除非是用在 NAS / SAN 上面.在 Test Setup / Cycling Options 选项中 Cycle # Outstanding I/Os 即是以此方式逐步增加同时 I/O 的读写,1,2,4,8.预设以2的等比级数增加.7.Test Connection Rate: 这一项不知道是做什么的.Step 5.不同的 Iometer 参数值用不同的 pattern 跑出来的值其结果会相差很大,你可以使用系统中 pattern 来跑或是你也可以 Access Specifications/new
16、一个属于自己的 pattern.主要有三个会影响到测试结果的选项. Transfer Request Size Intel 的建议值为 64k,这大小会影响到 Total I/O per Second 的结果.通常愈大直就越小,越小通常值越大. Percent Random/Sequential Distribution 如果你要得到较高的值当然是选用 100% 的Sequential Percent Read/Write Distribution 硬盘的读会比写要快,所以要得到较高的值选用 100% 的Read 其中的 Default Assignment 主要是我们在 Tool Bar 新
17、增 Disk 或 Network worker 时,预设就会加入这一些 Access Specification. Default Assignment 主要有 4 种8.None 不管新增加的是 disk / network workers 都不会成为默认值.9.All Workers 不管新增加的是 disk / network workers 都会成为默认值.10.Disk Workers 新增加的是 disk workers 会成为默认值.11.Network Workers 新增加的是 network workers 都不会成为默认值.除了这些设定外,我们还要切换到 Test Set
18、up 页面设定12.Run Time : 时间.通常跑个 3-5 分钟即可.13.Cycling Options : 请参考 Iometer 官方网站说明,一般使用默认值即可.14.Ramp Up Time: 一些比较高级的 RAID 系统通常会有一块 RAM 当作 I/O 高速缓存的时候,为避免一开始所得到的值是来自于这些快取,系统会将 # Ramp Up Time 所设定的时间不列入计算中.以便得到真正 I/O 的值.按下 就可以开始做 iometer 的测试. Step 6.看 Iometer 结果其实跑 Iometer 要经过不同的设定值,最后才能得到一个较好的效能值,这些值要怎么看,
19、下面有详细的说明. Results Since -有两种 Start of Test - 我们在进行 iometer 时,可能测试时间为一分钟但每一秒的结果皆不同.这边会帮我们显示出从一开始到目前为止所平均出来的值.这值会和储存下来的 csv 档结果一致. Last Update - 显示的结果为单位时间内的平均值,假如我设的 Update Frequency 为5秒,这边显示的就是这5秒的平均值.其实不用管这边的结果在储存的 csv 文件就会帮我们记录其测试结果. Update Frequency(second) - 这个就容易理解了,当在测试时下面的 Display 的更新频率,单位为秒(
20、seconds).预设为无限大(infinity),也就是跑完再看结果.测试结果主要看这两项. Total I/O per Second - 每秒 I/O 数的平均值.这和 Access Specifications 设定的 Transfer Request Size 相关.通常愈大直就越小,越小通常值越大. Total MBs per Second - 每秒可以传送的数据量,单位为 MBytes.要得到较好的 Total MBs per Second 需要将 Transfer Request Size 设定大一点. 把 Sequential和 Read 设定为 100% .除了 iomete
21、r 可以来测试硬盘的速度,你可以透过hdparm这是一个比较简单的方式来看目前硬盘传送的速度. Step 7.PatternIometer 在不同状况下建议跑的 pattern 值会些许的不同.如下所示! 最大 I/O (Max IO)处理能力测试: 硬盘的使用最小单位为 sector 而每个 sector 的大小为 512 Bytes.所以在做最大 I/O (Max IO)处理能力测试时建议使用15.Transfer Request Size(传送数据大小): 512 Bytes. 16.Percent Read/Write Distribution(读/写): 100% 读 17.Perc
22、ent Random/Sequential Distrution(随机率): Sequential 100%此时你会得到最大的记录的IOPS. 最大资料(Max Throughput)吞吐量测试: 建议使用18.Transfer Request Size(传送数据大小): 64 KByte. 19.Percent Read/Write Distribution(读/写): 100% 读 20.Percent Random/Sequential Distrution(随机率): Sequential 100%此时你会得到最大数据(Max Throughput)的吞吐量. 下面是始于针对特定应用的
23、测试: File Server 21.Transfer Request Size(传送数据大小): 64K Byte. 22.Percent Read/Write Distribution(读/写): 读 80%,写 20%. 23.Percent Random/Sequential Distrution(随机率): Random 100%. Web Server 24.Transfer Request Size(传送数据大小): 512K Byte 25.Percent Read/Write Distribution(读/写): 读 100% 26.Percent Random/Sequen
24、tial Distrution(随机率): Random 100% 在线事务处理(OLTP) 27.Transfer Request Size(传送数据大小): 8K Byte. 28.Percent Read/Write Distribution(读/写): 读 67% ,写 33% 29.Percent Random/Sequential Distrution(随机率): Random 100%Step 8.Cycle # Outstanding I/Os在 Disk Targets 前面有介绍过 # of Outstanding IO: 主要是在仿真测试同时多个应用程序向 I/O 请求读
25、写,默认值是 1 . 一般是不会是用到这个项目.除非是用在 NAS / SAN 上面.不过这边是固定数目的 I/O 请求读写,在 Test Setup / Cycling Options 选项中 Cycle # Outstanding I/Os 可以用等比(1,2,4,8.预设以2的等比级数增加)或是等差(1,2,4,6,8.预设以2的等差级数增加)方式逐步增加同时 I/O 的读写.作用在模拟真实环境当使用使增多时 I/O 读写是否会受到影响.可用于 NAS 环境测试.Cycle # Outstanding I/Os 有两种方式. Cycle # Outstanding I/Os - run
26、step outstanding I/Os on all disks at a time. 假若我们设定成等差,并将 # of Outstanding I/Os control group / End 设定为 4 ,Iometer 或逐步(1,2,4.预设以2的等差级数增加) 同时 I/O 的读写.在这选项中会针对所有的 Disk 同时存取.30.All workers use 1 outstanding I/O per target on all selected targets. 31.All workers use 2 outstanding I/Os per target on all
27、 selected targets. 32.All workers use 4 outstanding I/Os per target on all selected targets. Cycle # Outstanding I/Os and Targets - run step outstanding I/Os on step targets at a time. 假若我们设定成等差,并将 # of Outstanding I/Os control group / End 设定为 4 ,Iometer 或逐步(1,2,4.预设以2的等差级数增加) 同时 I/O 的读写.在这选项中只会针对单一
28、的 Disk 存取.所以当你指定 Target Disk 为两颗时需要执行 3*2 =6 次的测试. All workers use 1 outstanding I/O per target on 1 target. All workers use 2 outstanding I/Os per target on 1 target. All workers use 4 outstanding I/Os per target on 1 target. All workers use 1 outstanding I/O per target on 2 targets. All workers us
29、e 2 outstanding I/Os per target on 2 targets. All workers use 4 outstanding I/Os per target on 2 targets.Step 9.错误讯息常见的 Iometer 错误就是当你的网络环境没有使用 DNS 造成 Hostname 和 IP 无法相对映上的时候就会看到下面的错误讯息!= ERROR: Getting host name for localhost.localdomain failed. PortTCP:Create() in IOPortTCP.cpp line 238 errno = 11
30、* Could not create a TCP/IP Port. exiting. 这时只要调整一下 33./etc/hosts 名称解析以档案为主时的配置文件rootbenjr # vi /etc/hosts127.0.0.1 benjr.tw34./etc/sysconfig/network 暂时的 hostname,下次重开机又会恢复成原值rootbenjr # hostname benjr设定永久的 hostname,修改成自己所需要的即可.rootbenjr # vi /etc/sysconfig/networkHOSTNAME=benjrStep 10.Iometer 测试报告测试完 Iometer 会储存一个预设的档案 result.csv 檔,虽然我们可以直接在 Iometer 上的 Results Display 看到结果,不过最完整的报告还是可以透过 .csv 转成 Excel 格式来看会是最清楚的方式. Linux - Iometer Pattern Iometer - Cycle # Outstanding I/Os Linux - Iometer 错误讯息 Iometer - Quick start源文档 在Iometer开始对磁盘进行访问时,会先生成一个文件iobw.tst,其大小决定于“Max
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1