Use bonnie++ to Test system IO speed

原创 2004年09月19日 00:43:00

原文链接:

http://www.eygle.com/unix/Use.Bonnie++.To.Test.IO.speed.htm

 

由于Bonnie存在一些众所周知的问题,比如>2G的文件支持.
Russell Coker (russell@coker.com.au) 开发了一套新的代码,用以支持>2G的文件等.
得到Tim Bray (tbray@textuality.com)的许可之后,Russell把他的软件命名为bonnie++,在网上发布,并开始流行起来.

目前的版本已经更新到了1.03a,你可以到以下地址下载:
http://www.coker.com.au/bonnie++/
你也可以点击这里下载,这个版本需要编译,如果你没有编译环境,可以点击这里下载我编译好的,适用于SUN Solaris环境(Solaris8测试通过)

Russell Coker的个人主页是:
http://www.coker.com.au/

Bonnie++ 与 bonnie的区别主要是:
http://www.coker.com.au/bonnie++/diff.html

我简单介绍一下Bonnie++的编译及使用:

1.编译

你需要把以上下载的源码编译以后才能使用,如果你没有编译环境,可以点击这里下载我编译好的,适用于SUN Solaris环境(Solaris8测试通过)

当然你需要安装make,及gcc等必要编译器.在编译过程中,如果遇到以下错误,可能是因为你没有设置正确的环境变量

$ ./configure
grep: illegal option -- q
Usage: grep -hblcnsviw pattern file . . .
grep: illegal option -- q
Usage: grep -hblcnsviw pattern file . . .
checking for g++... g++
checking for C++ compiler default output... a.out
checking whether the C++ compiler works... configure: error: cannot run C++ compiled programs.
If you meant to cross compile, use `--host'.
See `config.log' for more details.

设置环境变量后继续编译,一般可以成功.

 

# export LD_LIBRARY_PATH=/usr/lib:/usr/local/lib
# ./configure
grep: illegal option -- q
Usage: grep -hblcnsviw pattern file . . .
grep: illegal option -- q
Usage: grep -hblcnsviw pattern file . . .
checking for g++... g++
checking for C++ compiler default output... a.out
checking whether the C++ compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking how to run the C++ preprocessor... g++ -E
checking for a BSD-compatible install... /usr/bin/install -c
checking for an ANSI C-conforming const... yes
checking for egrep... egrep
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... no
checking for unistd.h... yes
checking for size_t... yes
checking vector.h usability... yes
checking vector.h presence... yes
checking for vector.h... yes
checking vector usability... yes
checking vector presence... yes
checking for vector... yes
checking algorithm usability... yes
checking algorithm presence... yes
checking for algorithm... yes
checking algo.h usability... yes
checking algo.h presence... yes
checking for algo.h... yes
checking algo usability... no
checking algo presence... no
checking for algo... no
configure: creating ./config.status
config.status: creating Makefile
config.status: creating bonnie.h
config.status: creating port.h
config.status: creating bonnie++.spec
config.status: creating bon_csv2html
config.status: creating bon_csv2txt
config.status: creating sun/pkginfo
config.status: creating conf.h
config.status: conf.h is unchanged

 

编译完成之后会生成bonnie++,可以用来测试了.

2.下面是一些测试结果

a.T3大文件读写测试

 
# ./bonnie++ -d /data1 -u root -s 4096 -m billing
Using uid:0, gid:1.
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.03       ------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
billing          4G  9915  87 30319  56 11685  38  9999  99 47326  66 177.6   3
                    ------Sequential Create------ --------Random Create--------
                    -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                 16   639  19 +++++ +++  1258  22   679  16 +++++ +++  1197  27
billing,4G,9915,87,30319,56,11685,38,9999,99,47326,66,177.6,3,16,639,19,+++++,+++,1258,22,679,16,+++++,+++,1197,27


b. EMC CLARiiON CX500 测试数据

这个是在我禁用了写Cache以后的测试数据:

4块盘的Raid1+0测试:

 

# ./bonnie++ -d /eygle -u root -s 4096 -m jump   
Using uid:0, gid:1.
File size should be double RAM for good results, RAM is 4096M.
# ./bonnie++ -d /eygle -u root -s 8192 -m jump
Using uid:0, gid:1.
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.03       ------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
jump             8G 12647  36 13414   8  7952  13 33636  97 146503  71 465.7   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    86   1 +++++ +++   161   1    81   1 +++++ +++   163   1
jump,8G,12647,36,13414,8,7952,13,33636,97,146503,71,465.7,5,16,86,1,+++++,+++,161,1,81,1,+++++,+++,163,1

4块盘的Raid5,禁用写Cache后的速度:

 

# ./bonnie++ -d /eygle -u root -s 8192 -m jump
Using uid:0, gid:1.
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.03       ------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
jump             8G 10956  30 10771   6  3388   5 34169  98 158861  75 431.1   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    81   1 +++++ +++   160   1    82   1 +++++ +++   109   1
jump,8G,10956,30,10771,6,3388,5,34169,98,158861,75,431.1,5,16,81,1,+++++,+++,160,1,82,1,+++++,+++,109,1
                

对比这两个结果我们发现(单位K/sec):

 
字符写
Block写
字符读
Block读
Raid10
12,647
13,414
33,636
146,503
Raid5
10,956
10,771
34,169
158,861
Diff
1,691
2,643
-533
-12,358

我们看到,在直接读写上,写Raid10会略快于Raid5;而在读取上,Raid5会略快于Raid10,这符合我们通常的观点.

这里需要提一下的是,通常我们建议把RedoLog file存放在Raid10的磁盘上,因其具有写优势.

Use bonnie++ to Test system IO speed[修正稿]

link:http://www.eygle.com/unix/Use.Bonnie++.To.Test.IO.speed.htm 由于Bonnie存在一些众所周知的问题,比如>2G的文件支持.Russ...
  • eygle
  • eygle
  • 2004年09月20日 10:43
  • 1266

Use bonnie to Test system IO speed

Use bonnie to Test system IO speed Friday, 2004-09-17 11:33 Eygle      原文链接:http://www.eygle.com/uni...
  • eygle
  • eygle
  • 2004年09月17日 15:48
  • 1148

解你的磁盘之使用bonnie++测试磁盘性能

上一篇博文介绍了如何获取磁盘的基本参数 磁盘序列号,转速,通电时间,温度等等,其实我们更关心的是性能,读写性能。很多开源工具都能测试磁盘性能,iozone,bonnie,bonnie++,fio等等,...
  • wzyzzu
  • wzyzzu
  • 2015年03月19日 14:58
  • 666

Use orabm To test system CPU

原文链接:http://www.eygle.com/special/Use.orabm.2.Test.System.CPU.htmorabm是一个开源的系统CPU性能测试工具.作者Geoff Ingr...
  • eygle
  • eygle
  • 2004年09月27日 12:01
  • 1362

测试工具Bonnie++的使用

Bonnie++是一个用来测试UNIX文件系统性能的测试工具,主要目的是为了找出系统的性能瓶颈,其名字来源于作者喜爱的歌手Bonnie Raitt。 Bonnie++在类似的测试工具和软件中不是最大...
  • Choice_JJ
  • Choice_JJ
  • 2012年09月27日 19:45
  • 13102

openssl speed md5 测试md5的performance

通过openssl speed md5 测试md5的performance 将测试产生的这些log都存在文件中  openssl speed  md5 2>&1|grep "Doing md5">t...
  • tiantao2012
  • tiantao2012
  • 2017年05月12日 11:48
  • 390

bonnie++、dbench、iozone工具

转:记测试工具iozone,iometer,bonnie++ http://blog.csdn.net/zhangxinrun/article/details/5648174 记就自己接触到的测试...
  • adaptiver
  • adaptiver
  • 2011年11月25日 19:51
  • 5858

disk benchmark和bonnie++,noatime对性能的影响

dd命令可以做简单的write测试: dd bs=1M count=1024 if=/dev/zero of=test conv=fdatasync fdatasync表示只有数据写入到磁盘才退出,用...
  • jollyjumper
  • jollyjumper
  • 2014年02月27日 17:02
  • 1796

mkfs -t ext3 错误/dev/sdxx is apparently in use by the system; 解决方法

在存储上共享了一个500G的空间,映射到Linux系统提供上,环境由2个节点组成。 一. 测试一: 直接mount用fdisk 格式化之后如下:[root@rac1 u01]# fdisk -l…...
  • mao0514
  • mao0514
  • 2015年01月24日 09:43
  • 2269

使用ESRI官方 SystemTest 软件(一)

使用ESRI官方 SystemTest软件,对发布的地图服务进行数据查询功能,系统负载测试的步骤: 下载链接:http://www.arcgis.com/home/item.html?id=e8bac...
  • yaoxiaochuang
  • yaoxiaochuang
  • 2014年11月12日 11:49
  • 987
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Use bonnie++ to Test system IO speed
举报原因:
原因补充:

(最多只允许输入30个字)