标题：iometer
简介
Iometer 是一个工作在单系统和集群系统上用来衡量和描述I/O子系统的工具。它的发音为“eye-OM-i-ter,” 以便和单词“thermometer.”的发音押韵。Iometer 为计算机I/O子系统所作的工作就如同测力计为引擎所作的工作一样：它测定在可控制的负荷下系统的性能。Iometer 以前被称为“伽利略”。 
Iometer 既是工作负载生成器（也就是说，它可以进行输入输出操作，以便增加系统的负荷），它还是一个测量工具（也就是说，它检查并且记录I/O 操作的性能和对系统的影响）。它可以被配置为模拟任何程序或者基准测试程序的磁盘和网络I/O的负载，或者用来产生整个综合的I/O负载。它也可以用来产生并测量单系统或者多系统（网络）的负载。 
Iometer 可以被用来测量和描述：
? 磁盘和网络控制器的性能
? 总线的带宽和时延容量 
? 对于附带驱动器的网络吞吐量 
? 共享总线的性能
? 系统级别的硬件驱动的性能
? 系统级别的网络性能1.1 组成部分Iometer 包含了两个程序，Iometer 和 Dynamo. 
? Iometer 是控制程序。使用图形用户接口（GUI），你可以配置负载，设置操作参数，启动和停止测试。Iometer 告诉Dynamo 去做什么，搜集分析数据，将分析数据输出到文件中。在某一时刻，只能有一个Iometer副本运行；典型的情况是运行在服务器上。 
? Dynamo 是负载生成器。它没有用户界面。当接收到Iometer 发送过来的命令，Dynamo执行相应的I/O 操作并且记录性能信息，然后将数据返回给Iometer。它可以有多个副本同时运行；典型的情况是服务器上运行一个副本，每个客户端运行一个副本。Dynamo 是多线程的；每一个副本都可以模拟多客户程序的工作负载。Dynamo中的每一个运行的副本称为一个管理者；副本中的一个线程称为工作者。1.2 新特性:大量的代码做了修改，清除了一些代码，并且加强了可移植性 。1.3 Bug的修订:在磁盘目标表（Max Disk Size field，即最大磁盘大小一栏）修改了2 GB的限制。
Solaris:当有多个交换设备时会发生段错误，这个Bug已经修正。
同前一版本相比，所作的改进和Bug的修订的详细的列表，请察看"CHANGELOG"文件。4许可协议如果你使用Iometer，就认为你已经同意了 Intel 开放软件许可协议（Intel Open Software License ，在你第一次运行Iometer的新版本时会显示该许可协议）。该协议的一些重要的条目如下：
(1) Iometer 被提供为“只是使用它”, 没有保证和任何种类的担保。
(2) Intel 不认可、支持或者担保Iometer的性能结果。1.5 系统需求Iometer 目前能正确的运行在Windows NT4.0上. 运行它需要显示器的分辨率至少为800x600，并且需要大约4 MB的空闲内存。
Dynamo 目前能正确运行在Windows NT 4.0. 运行它需要大约2 MB 的空闲内存, 另外每一个工作者需要大约4 MB的空闲内存（关于什么是工作者，见1.1）。
在Windows 2000上Beta版本已经作了许多测试。该版本的Iometer能够正常的运行在目前经过测试的绝大多数版本上，但是在其他的版本上可能不能正常工作，请报告你遇到的任何问题。
安装 Iometer
一旦下载了Iometer包，并且解压完毕，安装Iometer所需要做的只是将Iometer.exe 和Dynamo.exe 放在同一个文件夹中即可。如果你想在多台机器上运行Dynamo，那么需要保证Dynamo.exe在每台机器上都能够使用（在本地磁盘或者是网络磁盘上都可）。
如果Iomete和Dynamo 运行在两个独立的系统上，必须提供经过恰当配置的TCP/IP网络。如果是运行在同一个系统上则不需要。
运行 Iometer
要运行Iometer，双击Iometer.exe，Iometer的用户界面就会出现，同时Iometer 也在同一台机器上启动了Dynamo的一个副本。
你也可以启动Iometer并且立即双击一个.icf文件来载入一个保存的安装文件，拖动一个.icf或者.txt文件到Iometer.exe的图标上，或者将.icf或者.txt文件作为命令行的参数。 例如：
C:\> iometer myconfig.icf
如果在测试过程中还使用其他的机器 ，那么在每个机器上启动一个Dynamo的副本。提供运行Iometer的机器的名字作为命令行参数，例如： 
C:\> dynamo IOServer
你不必在一台机器上启动多于一个的Dynamo 副本。为了增加该机器上的工作者（关于工作者的概念，见1.1），可以使用Iometer在该机器的Dynamo单一副本内启动多个额外的工作者线程。
要了解更多细节，请参考 Iometer 命令行选项部分。
你也通过运行批处理模式来启动Iometer，通过使用命令行参数来指定配置文件和输出文件。这将使得Iometer能完成一系列的测试并且报告测试结果而无需用户的干预，例如：
C:\> iometer /c bigtest.icf /rbigtest_results.csv
要了解更多细节，请参考《批处理模式》部分。
4. 快速启动
这一部分将对如何快速启动和运行进行简明扼要的介绍。
测试磁盘性能:
双击Iometer.exe，Iometer的主窗口就会出现，并且它会自动在本地计算机上的安装一个Dynamo工作负载生成器。?  
单击在Iometer窗口的左边的拓扑面板上的管理者（本地计算机的名字）。该管理者的可用的磁盘驱动会出现在磁盘目标表中（ Disk Targets tab）。蓝色的图标代表物理驱动器，他们只有在上面没有分区时才出现。黄色图标代表逻辑驱动器（挂载上去的），他们只有在可写时才出现。带红色反斜杠的黄色图标的意思是：测试之前，该驱动需要准备好；请参考磁盘目标表（Disk Targets Tab）———关于准备方面的更多信息的引用部分。
?    在磁盘目标表中，选择一个或者多个磁盘在测试中使用（使用Shift并点击或Control并点击来选择多个磁盘）。选择的磁盘将会自动分布到该管理者的工作者当中(也就是那些线程)。
?   切换到访问描述表（Access Specifications tab）。双击全局访问描述（Global AccessSpecifications）列表中的默认（即带有全局图标的那一项）。编辑访问描述（Edit Access Specification）对话框将出现。
编辑访问描述对话框显示出磁盘将会如何被访问。默认67%读和33%写的2KB的随机I/O，代表了典型的数据库负载。你可以保持不变或者改变它。如果完成了单击OK关闭该对话框。? 
如果想得到最大的吞吐量（每秒 几MB）将传输需求大小调整为64K，将读/写分配百分比调整为100%读，并且将随机/顺序分配百分比调整为100%顺序。
?    如果想得到最大的I/O速率（每秒钟的I/O操作），将传输需求大小（Transfer Request Size）调整为512比特，将读/写分配百分比调整为100%读，并且将随机/顺序分配百分比调整为100%顺序。
?    切换到结果显示表。将更新频率设为10秒。单击开始测试按钮（绿色的标记）。一个标准的保存文件对话框出现了。选择一个文件用来保存测试结果(默认为results.csv)。
?  10秒钟后测试结果就出现在结果显示表中，并且以后每10秒钟更新一次。按下每一个图表左面的按钮，可以得到能够显示不同结果的菜单选项。也可以从拓扑面板（Topology panel）上拖一个工作者或者一个管理者到图表上，来显示该工作者或者管理者的测试结果。  
按下停止测试按钮（带停止标志的那个按钮）。测试就会停止，并且最后的分析结果会保存到results.csv文件中。这是用逗号分隔的文本文件，可以使用任何文本编辑器来察看或者导入到电子表格中。
测试两台计算机之间的网络性能(计算机A 和计算机B):
?    在计算机A上，双击Iometer.exe。Iometer的主窗口将会出现，并且Dynamo工作负载生成器会自动运行在计算机A上。
?    在计算机B上，打开MS-DOS命令行窗口并且运行Dynamo，把计算机A的名字作为命令行参数。例如：
C:\> dynamocomputer_a
?    再一次回到计算机A上，注意计算机B作为一个新的管理者出现在拓扑面板上。单击它并且注意它的磁盘驱动将会出现在磁盘目标表中（Disk Targets tab）。
在拓扑面板（Topology panel）中选择计算机B，按下启动网络工作者（带有网线标志的那个按钮）。这就在计算机B上创造了一个网络服务器。
?    仍旧在拓扑面板（Topology panel）中选择计算机B，切换到网络目标表（Network Targets tab），在该表中将会显示两台计算机和他们的网络接口。从列表中选择计算机A的网络接口中的一个，这将在计算机A上创建一个网络客户端并且将该客户端和服务器端连接到一起。
?   切换到访问描述表。双击全局访问描述列表中的“默认”选项。在编辑访问描述对话框，选择传输需求大小为512比特。单击OK关闭对话框。
?    切换到结果显示表，将更新频率设为10秒钟。
?    按下开始测试按钮。选择一个文件来保存测试结果。如果指定了一个已经存在的文件，那么新的测试结果将会添加到已经存在的文件的内容的后面。
在结果显示表（ResultsDisplay tab）察看测试结果? 
按下停止测试按钮来停止测试并且保存结果。用Import Wizard将results.csv文件导入到微软Access数据库：
?    双击Wizard.mdb打开Access。（如果你使用的是Access 2000,需要注意的是我们使用的数据库并不是Access 2000的格式。也并不是一定要执行导入操作。）wizard的第一页出现了。
? 选择要导入的测试结果文件。如果文件和Wizard.mdb文件不在同一个文件夹中，请使用“浏览”按钮查找。单击“下一步”。
? 从文件中选择你想导入的测试。单击“下一步”。
? 选择“创建新的数据库”。单击“下一步”。
? 选择一个新的.mdb文件用来导入。该文件必须和Wizard.mdb文件不同。单击“下一步”。
? 浏览你的设置并且单击“完成”。测试结果就会导入到你所选择的数据库中。
使用Graph Wizard将测试结果导入到Excel电子表格1文件中:
?如果有必要，请在Access中打开Wizard.mdb。
?单击图形数据按钮。
?选择包含你要导入数据的数据库文件。必须是Import Wizard产生的数据库。单击“下一步”。
?从数据库中选择你想图形化显示的测试。单击“下一步”。
?该列表显示了一些预先定义的你可以使用的图形化类型。单击“新建”来创建一种新的图形化类型。
在X轴上选择“# Disks”数据库域。单击“下一步”。
?给X轴起一个名字，或者接受用域名作为默认的X轴的名字. 单击“下一步”。
检查“允许多个Y值”，选择“IOps”和 “MBps”数据库域在Y轴上进行图形化，单击“下一步”。
?单击MBps域，然后按下“编辑选中的标签”，单击“右边坐标轴”在图形的右边坐标轴上显示该域。如果你愿意可以改变要在Y轴标签显示的名字。单击“确认”，接着单击“下一步”。
? 分组标准可以用来将数据分组到图上许多不同的行，但是现在，选择“无” 即可。单击“下一步”。
? 保持分组标准标签为空。单击“下一步”。
?为你定义的图形类型起一个名字，或者接收默认的名字. 单击“下一步”。
你现在定义了一种新的图形类型，以后你可以编辑它也可以重用它。从表中选择它（如果它还没有被选中的话）。单击“下一步”。
?选择一个.xls文件来接收图形。该文件可以是一个新文件也可以是已经存在的文件，如果是一个已经存在的文件，该图形将添加到原文件上。单击“下一步”。
?浏览你的设置并且单击“完成”。该图形就在你所选择的电子表格中创建完成(如果是从一个或两个测试中导入结果，它或许是一个很烦人的只有一个或两个点的图形！Graph Wizard在将多个测试结果进行图形化时非常有用)。