Chinaunix首页 | 论坛 | 博客
  • 博客访问: 734544
  • 博文数量: 235
  • 博客积分: 4309
  • 博客等级: 中校
  • 技术积分: 2325
  • 用 户 组: 普通用户
  • 注册时间: 2011-01-17 11:25
个人简介

If you don\\\\\\\\\\\\\\\'t wanna do it, you find an EXCUSE; if you do, you\\\\\\\\\\\\\\\'ll find a WAY :-)

文章分类

全部博文(235)

文章存档

2014年(3)

2013年(2)

2012年(31)

2011年(199)

分类: LINUX

2011-01-17 21:34:57


转载请注明出处http://marion.cublog.cn,请勿用于商业用途!


一、简介


Bonnie++是一个硬盘和文件系统的基准性能测试工具,它通过一系列的简单测试来生成硬盘和文件系统的性能参数。其主程序提供两种风格的测试:针对单个文件的数据库风格的访问测试和针对大量小文件的创建和删除来模拟诸如Squid,INN,或者Maildir格式的Email这一类风格的访问测试。在选择RAID设定方法、文件系统的创建参数和NFS访问方式时,此工具可以提供有用的帮助信息。

Bonnie++对三个方面做基准测试:数据读、写速度,每秒可以完成的磁盘寻道次数和每秒可以完成的文件元数据操作次数。

元数据的性能表现跟运行着squid或为Maildir格式邮件服务器保存邮件时有很大关系,因为它们都是元数据操作密集型的应用。

Bonnie++目前的最新版本是1.03e,项目地址:。

二、安装

如果你的Linux系统是SUSE、Ubuntu或Fedora 9以上的版本,你可以使用各自的软件管理工具直接安装使用。当然,你也可以通过编译的方式来安装,其步骤如下:

# tar zxvf bonnie++-1.03e.tgz 
# cd bonnie++-1.03e
# ./configure
# make && make install

安装完成以后会在/usr/local/sbin/目录中生成两个可执行文件,bonnie++(主测试程序)和zcav(裸盘吞吐量测试程序);同时也会在/usr/local/bin目录下生成两个可执行文件,用于生成可读性强的测试报告,它们是bon_csv2html和bon_csv2txt。

三、bonnie++的常用选项说明

-d DIR 用于测试的目录,即测试目标位置;
-s SIZE(MiB) 用于测试IO性能的文件的大小;如果指定的文件大小大于1G,bonnie++会将其分为多个大小为1G的文件;
-m 测试目标主机的主机名,仅用于显示测试结果时的主机标识;
-r 指定测试程度使用的内存大小;bonnie++一般要求指定的测试文件的大小至少为物理内存的2倍;如果测试时指定的文件过小,则可以通过指定所使用的物理内存大小来滞此条件;
-x 用于指定同时运行的测试数目;
-u 测试程序运行时关联的uid,如果以root用户的身份做测试,则此项必须明确指定。-g选项则用于指定gid;
-q 静默模式;
-f 快速模式,此种模式不进行IO测试;
-D 直接IO测试,用于测试大规模IO请求时的性能;

使用示例:
# bonnie++ -d /data -u root -s 4096 -m mail 
Using uid:0, gid:0.
Writing with putc()...done
Writing intelligently...done
Rewriting...done
Reading with getc()...done
Reading intelligently...done
start 'em...done...done...done...
Create files in sequential order...done.
Stat files in sequential order...done.
Delete files in sequential order...done.
Create files in random order...done.
Stat files in random order...done.
Delete files in random order...done.
Version 1.03e ------Sequential Output------ --Sequential Input- --Random-
-Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP
mail 4G 70035 88 81580 15 34152 18 51171 94 75728 25 135.2 5
------Sequential Create------ --------Random Create--------
-Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP
16 +++++ +++ +++++ +++ +++++ +++ +++++ +++ +++++ +++ +++++ +++
mail,4G,70035,88,81580,15,34152,18,51171,94,75728,25,135.2,5,16,+++++,+++,+++++,+++,+++++,+++,+++++,+++,+++++,+++,+++++,+++

说明:
1、测试结果中显示形如的“++++”的符号表示此项测试时间小于500ms,所以被视作不准确结果不予显示;
2、每项测试都会显示两个结果,其中的%CP表示此项测试的CPU占用率;

四、zcav使用简介

ZCAV是“Zoned Constant Angular Velocity”的简写,用于测试裸盘的吞吐率。常用选项如下:

-b 读/写操作的数据块的大小,单位为MB:默认为100M;
-c 读/写整个磁盘的次数;
-f 读入数据时所用的文件;
-u 测试时使用的uid;-g 为使用的gid;
-w 通过向磁盘填充“0”的方式测试,会破坏原有文件。

使用示例:

# zcav -b 2048 /dev/sda3
#loops: 1, version: 1.03e
#block offset (GiB), MiB/s, time
0.00 82.84 24.721
2.00 72.28 28.335
# Read 4 gigs in 53 seconds, 77 megabytes per second.

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