Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4078670
  • 博文数量: 251
  • 博客积分: 11197
  • 博客等级: 上将
  • 技术积分: 6862
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-05 14:41
个人简介

@HUST张友东 work@taobao zyd_com@126.com

文章分类

全部博文(251)

文章存档

2014年(10)

2013年(20)

2012年(22)

2011年(74)

2010年(98)

2009年(27)

分类: LINUX

2010-07-21 16:48:45

Iometer简介

Iometer 是一个工作在单系统和集群系统上用来衡量和描述I/O子系统的工具。

Iometer 既是工作负载生成器(也就是说,它可以进行输入输出操作,以便增加系统的负荷),它还是一个测量工具(也就是说,它检查并且记录I/O 操作的性能和对系统的影响)。它可以被配置为模拟任何程序或者基准测试程序的磁盘和网络I/O负载,或者用来产生整个综合的I/O负载。它也可以用来产生并测量单系统或者多系统(网络)的负载。

Iometer 可以被用来测量和描述磁盘和网络控制器的性能总线的带宽和时延容量,对于附带驱动器的网络吞吐量,共享总线的性能系统级别的硬件驱动的性能系统级别的网络性能。

Iometer 包含了两个程序,Iometer Dynamo.

  Iometer 是控制程序。使用图形用户接口(GUI),你可以配置负载,设置操作参数,启动和停止测试。Iometer 告诉Dynamo 去做什么,搜集分析数据,将分析数据输出到文件中。在某一时刻,只能有一个Iometer副本运行;典型的情况是运行在服务器上。

Dynamo 是负载生成器。它没有用户界面。当接收到Iometer 发送过来的命令,Dynamo执行相应的I/O 操作并且记录性能信息,然后将数据返回给Iometer。它可以有多个副本同时运行;典型的情况是服务器上运行一个副本,每个客户端运行一个副本。Dynamo 是多线程的;每一个副本都可以模拟多客户程序的工作负载。Dynamo中的每一个运行的副本称为一个管理者(Manager);副本中的一个线程称为工作者(Worker)。

 

Iometer配置

1.  Disk Targets---测试磁盘目标

dynamo启动后,它会将所在机器上所有的网络接口,磁盘(包括虚拟磁盘,文件系统的信息)报告给Iometer,测试者可以在Iometer的控制面板上选择测试目标。目标上带斜杠的图标,代表该目标在测试之前需要先准备好iobw.tst文件,在测试之前会先写目标,直到达到Maxium DiskSize为止。

Maxium DiskSize 创建iobw.tst文件的扇区数,为0代表填满真个磁盘;

Starting DiskSector:(从iobw.tstxx扇区开始测试);

# of outstanding I/Os: 同时发送的IO数;

 

2.  Network Targets --- 网络接口目标

参考1,通常不需要进行配置;

 

3.   Access Specifications---负载特性

可以选择也定义好的负载,也可以自定义,主要在于设置读写比例,顺序/随机比例;

Transfer Request Size: 4K, 8K …

Percent Read/Write Distribution: 67% Read,33% Write …

Percent Random/Sequential:100% Random 

 

4.  Results Display --- 设置结果更新间隔

  可选择需要测试的目标,拖动滑块可改变更新间隔,通常设置为10s,所有的Workers共享这一配置参数;

5.   Test Setup --- 设置测试时间等

代表每种负载测试的时间,所有的Workers共享这一配置参数。针对每个Worker所选择的负载,dynamo将依次进行测试,并将结果发给IometerIometer将同一时间段内的测试值进行求和。

如有两个Workers,每种负载测试时间为1mins

Worker1的负载:(1) 4K 100%Read 0%Random

(2) 32K 100%Read 0%Random

(3) 16K 100%Read 0%Random

   Worker2的负载:(1) 16K 100%Read 0%Random

   1minWorker1Worker2的负载1启动,结束后发送给IometerIometer进行汇总;

   2minWorker1的负载2启动,此时Worker2的负载已经测试完毕,将结果发给Iometer

   3minWorker1的负载3启动,完成后将结果发给Iometer

   从上面的测试可以看出,Iometer是按测试时间聚类,而不是按测试负载聚类。

实验环境

拓扑结构为一台网关+局域网内若干机器,需要做的准备工作包括:

1.在网管上安装vncserver,使得我的机器能通过vnc viewer控制网关机,然后在网关机上通过ssh登录到各个测试节点。

2.准备一台windows节点,安装F-secure ssh server,在windows上启用远程桌面连接(桌面右键==》属性==》远程==ss启用远程连接。

3.在网关上配置ip table,使我的机器能通过ssh登录到局域网内各个节点,方便文件传输,当然也可先将文件传到网关机上,再通过scp传到各个局域网节点上。在网关的配置端口映射项,将网关的3389端口的访问,映射到windows节点的3389端口上,从而我的机器能通过远程桌面连接控制windows节点。

4.windows用户配置密码(ssh默认不支持空密码,远程桌面连接也需要有密码)。

5.远程登录到windows节点,安装Iometer

6.Iometerlinux 源码包)传到各个测试节点上,并安装,生成可执行文件dynamo

7.将系统的代码传输到各个测试节点,并重新编译生成可执行文件。s

 

至此实验环境已经搭建好。

测试模型

 

在分布式系统的所有客户端上运行dynamoIometer将各个节点的数据汇总,就可以看出整个集群总的吞吐率等,负载类型,以及存储节点和客户端数目比例对集群性能都会有很大的影响。

阅读(7800) | 评论(1) | 转发(2) |
给主人留下些什么吧!~~

whspecial2010-12-14 19:06:30

你好,向您请教一个问题。
iometer在测试的时候会在根目录下生成iobw.tst文件,怎么改变这个文件的位置和名称呢?如果不改变的话那么每个dynamo实际上是去测试同一个文件。