灌溉梦想,记录脚步
« »
2010年3月2日技术合集

Bonnie++

Bonnie++是一个配置简单,使用方便的磁盘IO测试工具。
1、安装

1
2
3
4
5
6
#wget http://www.coker.com.au/bonnie++/bonnie++-1.03e.tgz
#tar zxvf bonnie++-1.03e.tgz
#cd bonnie++-1.03e
#./configure
#make
#make install

2、bonnie++(Version: 1.03)的使用方法以及结果的含义。
usage: bonnie++ [-d scratch-dir] [-s size(Mb)[:chunk-size(b)]]
[-n number-to-stat[:max-size[:min-size][:num-directories]]]
[-m machine-name]
[-r ram-size-in-Mb]
[-x number-of-tests] [-u uid-to-use:gid-to-use] [-g gid-to-use]
[-q] [-f] [-b] [-p processes -y]
首先说明一下命令中常用的参数。
-d 生成测试文件的路径
-s 生成测试文件的大小,以M为单位(如果不使用-r参数,则要求文件大小至少是系统物理内存的2倍)
-m 机器名,实际上我们可以认为是本次测试的方案名,可以随便定义。默认是本机的hostname。
-r 内存大小,指定内存大小,这样可以通过-s参数创建r*2大小的文件,通常用于缩短测试时间,但是需要注意这样由于内存的cache可能导致测试结果的不准确
-x 测试的次数
-u 测试文件的属主和组,默认是执行bonnie++的当前用户和当前组
-g 测试文件的组,默认是执行bonnie++的当前用组
-b 在每次写文件时调用fsync()函数,对于测试邮件服务器或者数据库服务器这种通常需要同步操作的情况比较适合,而不使用该参数则比较适合测试copy文件或者编译等操作的效率。

3、简单测试例子
通常我们可以简单地运行如下命令进行磁盘性能测试:
bonnie++ -d /mnt/mfs –m test01
这样将会在指定的目录下(通常我们会指定一个盘阵上卷的挂载点),生成相当于主机物理内存两倍的文件,如果总量大于1G,则生成多个大小为1G的文件。假设主机内存为4G,那么在测试中就会生成8个1G的文件,到测试结束,这些文件会被自动删除。
如果我们的主机内存是4G,但是我们想缩短测试的时间,比如说只写2G的文件,就应该执行下面的命令:
bonnie++ -d /mnt/mfs –m test01 –s 2048 –r 1024 -u root

4、分析结果解释
Sequential Output(顺序写入)
per charutc(),每次一个字符,顺序写入,完成整个文件
The CPU overhead here is that required to do the stdio code plus the OS file space allocation.
block:每次一个块,顺序写入,完成整个文件,
The CPU overhead should be just the OS file space allocation.
rewrite:每次读出一个块,修改其中一个字节,然后写回
this should test the effectiveness of the filesystem cache and the speed of data transfer.

Sequential Input(顺序读出)
per char:get(),每次一个字符,顺序读出,完成整个文件
This should exercise only stdio and sequential input.
block:每次一个块,顺序读出,完成整个文件
This should be a very pure test of sequential input performance.

Random Seeks(随机寻道):
3个seeks进程,8K个随机寻道操作,每次都是整块读出,%10得情况,修改一个字节,然后写回
Sequential Create (建立文件时,是真正将文件写入磁盘的)
create

read(stat) 顺序遍历所有文件:操作:读取文件属性,如果文件大小不为0,还要对文件内容进行读取,
delete 顺序删除所有文件
Random Create
create

read(stat) 按随机顺序遍历文件,文档中说这一步不会遍历所有文件,但是代码里边反应的情况好像不是这样
delete 按随机顺序删除所有文件

日志信息 »

该日志于2010-03-02 08:17由 kevin 发表在技术合集分类下, 你可以发表评论。除了可以将这个日志以保留源地址及作者的情况下引用到你的网站或博客,还可以通过RSS 2.0订阅这个日志的所有评论。

发表回复