篇首语
在存储界浪迹几年的人,或多或少都使用过一款或多款IO 测试工具来说明某款存储产品或者存储系统的性能表现。主流的存储厂商,在售前产品比拼测试阶段,客户一般都需要竞标者提供一些测试数据,而这些测试数据最好采用同一款第三方工具,基于相同的标准。迄今为止,这些工具中比较著名的有Iometer、Iozone、fio、vdbench 等。
笔者曾经有一段时间使用过Iometer,后来因为其支持平台类型过于狭窄而放弃。在去年的一个北美SDN项目中,由于需要进行性能数据比较,同时为便于北美工程师可以协同定位性能问题,故重新使用起这款知名工具。
值得庆幸的是,几个爱好者在8年后的2014年发布了Iometer 1.1.0 版本(2006年发布2006.07.27版本),让这款神作又满血回归。在这个新版本发布后的一周左右,我在这个版本基础上做了一些修改和定制,便于公司内部使用。原计划想添加性能实时显示图表,以及IO 足迹跟踪和IO replay功能,可惜,一直没有精力投入进来。目前我本人的关注重心已经转移,这终成了一个未完成的事情!
今年的这个版本(2015.01.23A1)没有什么大的功能补充,主要在WIN7上重新编译了一下,修正了一些命令BUG。
网络上介绍Iometer 的资料也比较多,百度,Bing 等搜索引擎都能快速检索到。本文不再赘述。
-----------------
下面主要翻译自Iometer User‘s Guide
(最新的1.1.0 的手册内容很多未更新,甚至有部分错误,残缺)
Iometer简介
Iometer是一款用于单系统和集群系统的I/O子系统度量和特征化工具,它是一个负载生成器,也是一个度量工具,可用于模拟任何程序或benchmark的磁盘或网络I/O操作,在单个或多个(联网)系统上生成并度量负载。
Iometer组成
Iometer由两个程序组成,Iometer和Dynamo。Iomter是控制程序/GUI,它告诉Dynamo需要做什么,收集数据结果并总结到一个输出文件。一次只应该运行一个Iometer,通常运行在服务器上。Dynamo是一个负载生成器,它没有GUI,在Iometer的命令下执行I/O操作并记录性能信息,然后返回数据给Iometer。一次可以运行多个Dynamo,通常是一个副本运行在服务器上,另一个副本运行在每一台客户端上。Dynamo是多线程的,每一个副本可以模拟多个客户端程序的工作(workload),每一个正在运行的Dynamo副本被称为是一个Manager,Dynamo中的每一个线程被称为worker。
...........
--------------------
Iometer版本
Iometer 官网地址:http://www.iometer.org/
目前版本为1.1.0 ,发布日期为:2014.05.31
(因为Win XP系统使用者还比较多,2014.12.17 发布了一个32位版本)
Iometer 下载地址(官方版本下载):
http://sourceforge.net/projects/iometer/files/iometer-stable/ (2003年以来的所有正式版本)
http://www.iometer.org/doc/downloads.html
Iometer 支持平台:
http://www.iometer.org/doc/matrix.html
Linux (2.6.x 内核)和Windows (Win 8.1 之前)是可以支持的。更高内核版本,因为没有环境编译验证,希望有人可以补充完整一下。
OS X 64bit 支持;Solaris X86-32 和SPARC 不明确支持;IBM 的PowerPC 芯片不明确支持。
总之,目前Iometer 的平台兼容性还是比较弱的,特别是Linux kernel 3.x 系列,和新一代的物联网操作系统Windows 10,我们还是期望它还能有所表现。
至于Apple OS X 系统,一般客户使用的还是比较少的,即便是Server 版本,除了媒资行业的视频编辑,图像处理等少数客户应用,支持与否也不是太重要。IBM 的PowerPC 芯片,目前已经是Power8。IBM 力推的开源 OpenPowerPC 芯片目前也在中国区获得了政府支持。这些曾经是小型机的专供芯片,目前对Linux 的支持也相当不错,包含一些虚拟化操作系统,如IBM PowerVM 技术之一的Virtual I/O Server。如果Iometer 能够支持,也是一件好事。
---------------------------
Iomter 2015.01.23A1 版本
基础版本:1.1.0 (官方正式版本)
上一个修订版本:XX.Version3 (XX 公司内部使用版本)
版本修订者:Yungchin.Hsu
修订日期:2015.01.23
修订内容:
1、界面优化
2、性能数据输出优化
3、TCP/IP 端口函数优化
4、命令行集成和BUG修复(命令行版本由XX公司另外一位同事提供)
5、IO应用模型配置集成
界面截图如下: