Linux下IOmeter的使用
-------------------------------------
IOmeter是intel开发的一款免费软件,主要用于Windows和Linux平台下对磁盘IO子系统和网络IO做性能测试。
IOmeter通过Dynamo来生成多种IO测试,每一个Dynamo叫做一个Managere。每一个Manager下又有多个worker,worker即时Dynamo的线程,比如worker1用于测试磁盘IO,worker2用户测试网络的IO。IOmeter的界面如下:
在linux下使用IOmeter由于没有UI,所以需借助windows下的UI,首先下载linux下的IOmeter,进入src目录后,一般有一个dynamo执行程序,执行以下命令:
./dynamo -i windows主机ip -m linux主机ip ;
然后下载windows的IOmeter,安装完成之后在windows下启动IOmeter,就能看到Linux下的磁盘,如上图test4所示。。
测试步骤大致如下:
1)添加一个worker,自动命名为worker1.(黄色图表表示逻辑盘,如果是物理磁盘,图表为蓝色);
2)选择要测试的磁盘 ,比如sdb;
3)在 “Access Specifications” 页面中选择default并添加至左侧栏内,default的设置可以通过edit调整。
4)在“Results Display”页面选择页面更新频率,一般选择5s到10s刷新一次。
5)在“Test Setup”页面可以设置测试的时间以及其他一些复杂躬耕,时间一般设为5min。
6)点击绿色小旗按钮开始测试。
--------------------------------------------------------------------------------------
简介
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在将多个测试结果进行图形化时非常有用)。