概述
IO Meter是Intel开发的用来测试磁盘和网络I/O性能的软件,在目前测试磁盘系统性能中很常用。在IO Meter中用户可以自行设置进行读写或者写入测试的数据块和队列深度等参数,来进行磁盘最大I/O性能、最大数据吞吐量等指标的测试。还可以通过对参数的不同设置,来模拟磁盘系统在WebServer(网站服务器)、FileServer(文件服务器)和OLTP(OnLine Transaction Processing,在线交易处理)服务器等真实环境中的读写性能。
Iometer设计和组成
Iometer包括两个程序,Iometer和Dynamo  
Iometer(目前仅有windows版本)是控制程序,它提供图形用户界面,通过它你可以配置负载、设定操作参数、开始或停止测试。Iometer告诉Dynamo收集测试数据并且在输出文件中总结结果。在同一时间只能有一个Iometer运行;它一般运行在服务器上。  
Dynamo(windows/linux/NetWare/Solaris)是负载发生器,它没有用户界面。在Iometer的作用下,Dynamo执行I/O性能测试、记录执行信息,同时把数据返给Iometer。在同一个时间可以有多个Dynamo运行,一般他们分别运行在不同的机器上。Dynamo是多线程的,每个dynamo可以模仿多客户端程序的负载。每个运行的dynamo称为一个manager,在一个manager中的每个线程成为一个worker。
升级glibc库
本文在实验过程中提示要升级glibc库至2.15版本
下载glibc源码 http://ftp.gnu.org/gnu/libc/,下载glibc-2.15.tar.gz和补丁包glibc-ports-2.15.tar.gz
# tar -zxvf glibc-2.15.tar.gz
# tar -zxvf glibc-ports-2.15.tar.gz
# mv glibc-ports-2.15 glibc-2.15/ports
# mkdir glibc-build-2.15
# cd glibc-build-2.15/
# ../glibc-2.15/configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin 
# make
# make install
Iometer下载
www.iometer.org
Iometer安装
linux压力产生端
# tar -jxvf iometer-1.1.0-linux.x86_64-bin.tar.bz2
windows控制和压力产生端

下载后直接解压即可运行

dynamo使用
在linux服务器上执行
# ./dynamo -i 192.168.6.100 -m 192.168.5.107------------100为dynamo端;107为iometer端

Iometer包括2个程序,Iometer.exe和Dynamo.exe。其中Iometer是控制程序,是图形界面,让你轻松的调节参数和显示测试结果,而Dynamo就是让测试盘产生压力测试的主程序了,用Iometer来控制Dynamo程序。在Windows下运行Iometer时,会自动打开Dynamo程序(仔细观察会发现开了2个窗口,那个Dos的命令行程序就是Dynamo了。)

Open Configuration Test File:打开测试配置文件
Save Configuration Test File:保存测试配置文件
Start New Manager:添加一个新的客户端Manager
Start Disk Worker:在选中的Manager中添加新的磁盘worker
Start Network Worker:在选中的Manager中添加新的网络worker
Duplicate Selected Worker:在同一Manager中复制选中的worker
Start Tests:开始测试
Stop Current Test and Save Results:中止当前测试并保存结果
Abort ALL Tests:中止当前所以测试不保存测试结果
Reset Workers:重新设置worker
Disconnect Slected Worker or Manager:中止已选择的worker或manager
Exit:退出iometer
About Iometer:查看iometer版本和版权信息


1)Topology/Workers:

Worker的数量取决于当前机器上的CPU核心数(我的CPU是2600K,4核8线程,所以有8个Worker),每个Worker可以让你制定硬盘同时执行的线程数,不过一般我们家用测试只跑一个Worker即可,所以只需要1个Worker即可,多线程测试适合高性能服务器或者企业级的存储设备用的。这里多余的Worker我们可以在测试前删除。

2)Targets:(在设置Disk Target时会有3种不同的图标来表示不同类型的硬盘情况)

黄色图标的表示的是”Logical drive 逻辑磁盘“,意思就是已经分过区的,格式化的并且上面拥有文件系统的磁盘。(会显示硬盘分区卷标和卷标名)

如果黄色图标上加了红色删除的线,则代表的是这块逻辑硬盘上没有iobw.tst文件。Iometer在对逻辑硬盘测试前,会生成一个iobw.tst的测试文件,通过对这个文件进行”读取/写入“操作来计算IO成绩和传输率。

蓝色的图标表示的是”原始(RAW)硬盘“的意思,指的是这块硬盘上文件系统无法识别或者没分区和格式化,测试文件不能在上面创建。(会显示硬盘的型号)

这里有一点需要注意,如果之前做过Iometer逻辑硬盘测试,并在这个分区里已经有iobw.tst文件,则在下次做测试前必须先删除,不然是不能改变这个之前测试生成的iobw.txt文件大小的。(也就是说会影响到下次测试的准确性)

3)Maximum Disk Size / Starting Disk Sector / # of Outstanding IO:

一般的机械硬盘sector(扇区)大小为512字节(扇区为硬盘最小存储单位)。如果这里使用默认的0时,意思就是写满这块硬盘的所有扇区,如果你想测的是固定大小时,可以透过设置Maximum Disk Size这个参数来达到。输入1000就代表会在测试前生成一个大小为1000X512字节的iobw.tst测试文件。Starting Disk Sector指的是由硬盘的第几个扇区开始写入。(这里要强调一点,如果你设置的Maximun Disk Size数字比当前磁盘系统的缓冲区小的话,测试成绩很可能是缓冲区性能,速度会爆高,所以适当设大点吧。)

# of Outstanding I/O 指的是同时发送的IO请求(聪明人知道这个就是体现NCQ的作用了),预设值是1,一般家用测试不会去修改这个项目的,只有厂家秀分数做广告时会去改成32来跑最大IOPS忽悠用户。

4)Write IO Data Pattern(新版Iometer相比2006和2008版多出来的项目)

Repeating Bytes: 生成的IO数据是重复的,比如第一批IO数据是全”A”,第二批是全”B”,这个数据模型是Iometer 2008里默认使用的,也是最适合SandForce主控压缩算法的,所以SandForce做广告时都是用Iometer 2008的数据。

Peseudo random: 缓冲区里用随机的数据模型填满,写入完后再重新生成新的随机数据到缓冲区,造成每次写入IO都不同。这个数据模型是从最初的版本一直到Iometer 2006默认采用的,非常不适合SandForce主控进行压缩算法。

Full random:生成一套随机的16MB大小的数据模型到缓冲区。每次写入IO都会使用这套缓冲区的随机数据模型。(虽然是随机数据,但是由于每次的随机数据都一样,所以对采用了副本压缩技术的SandForce控制器,相当于每次只需要更新随机数据的索引部分即可,还是能够压缩部分数据。)


1)Transfer Request Size (测试请求的文件大小)

你要测试的文件块大小,比如测4KB随机的就填写4KB,测128KB持续的就填128KB。

2)Percent of Access Specification (当前规则占此测试中的比例)

如果你测试中需要添加多条规则的话,这个就可以设置比例了,比如50%做4KB随机测试,同时另外50%做128KB持续测试。

3)Percent Read/Write Distribution (测试请求的读/写的比率)

当前测试规则的读取/写入比率,比如66%读取的同时34%为写入,打个比方,我们的操作系统运行时在读取的时候,后台也在写入。

4)Percent Random/Sequential Distribution (测试请求的随机/持续比例)

随机和持续占的百分比,比如测4KB随机80%的同时测4KB持续20%。

5)Align I/O on (对齐 I/O到指定大小)

SSD要分区对齐,这里也是这个道理,一般测SSD都是对齐到4KB。如果设4KB,指的是测试的数据每次都是4KB对齐的。

6)设置规则的全局显示

全部设置完了,起个名字,然后最后再看下没问题即可点下面的OK确认。


1)Run Time (测试时间)

可以设置测试的时间,如果全0代表无限。

2)Ramp up Time

我们知道如果磁盘系统使用阵列卡的话,上来会有个很高的缓存数据,为了保证测试数据的准确性,这里可以设置一定的时间,这样测试结果就不会计算这部分时间的数据,得到更真实的测试数字。


1)Update Frequency (Seconds) (成绩更新频率/秒)

成绩更新的频率,你可以设置每秒更新或者60秒一更新等等。
Results Since (结果从哪个时间段开始)
Start of Test - 由于在进行测试时,每一秒的成绩都不同,如果选择这个选项,那么Iometer显示的就是从测试一开始到现在为止的平均值。
Last of Update - 如果选择的是这个,那么Iometer就会显示最后次更新到现在的平均值。(如果你更新频率为30秒,那么成绩就是这个30秒内的平均值)

2)测试结果显示区域(图里的为默认,可以自己选择需要的结果)
Total I/Os Per Second 当前规则下,每秒处理的IOPS数。
Total MBs per Second 当前规则下,每秒的传输率。
Average I/O Response Time (ms) 当前规则下,平均一次IOPS处理时间。
Maximum I/O Response Time (ms) 当前规则下,最大一次IOPS处理时间。
%CPU Utilization (total) 当前规则下,CPU占用率
Total Error Count 当前测试中,测试出错计数。

其实还有很多的测试结果项目可以选,喜欢深入研究的朋友可以继续发掘,我这里也只是简单的介绍这款功能强大的Iometer软件。

IOMeter安装以及测试相关推荐

  1. my SQL下载安装,环境配置,以及密码忘记的解决,以及navicat for mysql下载,安装,测试连接...

    一.下载 在百度上搜索"mysql-5.6.24-winx64下载" 二.安装 选择安装路径,我的路径"C:\Soft\mysql-5.6.24-winx64" ...

  2. http_load安装与测试参数分析

    http_load安装与测试参数分析 http_load以并行复用的方式运行,用以测试 web 服务器的吞吐量与负载.但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会把客户机搞死. ...

  3. nginx 没有sbin目录_CentOS7下Nginx+ModSecurity配置、安装、测试教程

    " 最近在工作上遇到一点问题,问了大佬.百度,都没有很好地解决:经过大量搜索查阅以及试验,终于将问题解决.于是写下这篇文章以提醒自己,也可供读者参考." 环境:CentOS-7-x ...

  4. AutoBench+Httperf的安装、测试

    首先安装Httperf.主要是Httperf网路上给出的url均无法访问,因此在GitHub上找的源码工程,进行安装. 接下来介绍安装步骤,从Github下载下来的httperf包是zip. unzi ...

  5. 安装并测试nvenc linux sdk

    2019独角兽企业重金招聘Python工程师标准>>> nvidia在cuda之后推出一种官方生成更好视频处理技术nvenc. 网上相关资料很少, 也不知道这个东西到底怎么样,自己测 ...

  6. appium for mac 安装与测试ios说明

    一.安装 安装dmg,可以自己下载appium-1.4.0.dmg或者找rtx我要,文件过大不能添加附件. Appium提供了一个doctor,运行appium-doctor 如果有问题,Fix it ...

  7. Faste R-CNN的安装及测试

    一.拉取源码 下载 fast-rcnn 因下载解压后 caffe-fast-rcnn是空文件夹,故需要单独下 caffe-fast-rcnn-bcd9b4eadc7d8fbc433aeefd564e8 ...

  8. Faster R-CNN的安装及测试(Python版本和Matlab版本)

    rbg的Python版本 一.拉取源码 git clone --recursive https://github.com/rbgirshick/py-faster-rcnn.git 拉取完成后,在/h ...

  9. Eclipse JPBC library安装及测试

    Eclipse JPBC library安装及测试 资源下载路径: 安装配置: JPBC库是一个功能很强大的数学库,用于生成椭圆曲线,双线性等,但网上参考资料很少,重复度极高,该分栏用于安装,JPBC ...

  10. Window10 NVIDIA显卡 Tensorflow 2.1 GPU 安装和测试

    Window10 NVIDIA显卡 Tensorflow 2.1 GPU 安装和测试 1. 硬件要求 支持以下带有 GPU 的设备: CUDA® 计算能力为 3.5 或更高的 NVIDIA® GPU ...

最新文章

  1. Technavio:大数据即服务将迎快速增长期
  2. sql随机查询数据语句(NewID(),Rnd,Rand(),random())
  3. d3.js 实现烟花鲜果
  4. java while等待 yeild_Java中run(), start(), join(), wait(), yield(), sleep()的使用
  5. windows服务器下com6僵尸***删除
  6. 官方原版美化修改版完美适配双端海洋cms模板
  7. 2 ELK收集nginx的json格式日志
  8. 生成的SMILES以及对应的图像的评价指标【2】
  9. 求一个数组的全排列(java)
  10. 基于EasyNVR实现RTSP_Onvif监控摄像头Web无插件化直播监控
  11. p56 p57 p58
  12. 【字节跳动】-复盘-一面+二面+三面+hr面+交叉面
  13. 11月更新M1芯片专用PS photoshop 2021/2022安装 PS2021/22 Mac版 附详细教程
  14. 不使用库函数实现字符串复制函数strCopy
  15. Integrating Factor
  16. 【高质量图片批量压缩工具】Squash 2.0.4 for Mac
  17. [deviceone开发]-纳豆项目源码开源
  18. 20件关于浏览器与web必知必会
  19. vscode中安装开发html5中需要的插件
  20. HCIA-第八节0615

热门文章

  1. 三相逆变器仿真matlab,在MATLAB中实现三相电压逆变器仿真
  2. bp神经网络算法原理公式,bp神经网络算法推导
  3. (附源码)计算机毕业设计Java远程健康数据管理系统
  4. windows消息钩子研究资料整理
  5. 计算机基础中通信概预算,通信工程概预算编制系统的设计与实现
  6. 【ihaonet微测试】你出题,我开发
  7. [19保研]厦门大学软件学院暑期夏令营招生简章
  8. linux读取bmp图片数据,linux下读取bmp图片文件头
  9. 欢乐时光病毒原码分析
  10. 我的web前端工作日志14------2020年度总结