磁盘I/O测试工具Bonnie++的专题

来源:互联网 发布:现在主流数据库 编辑:程序博客网 时间:2024/05/22 13:01
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>



关于磁盘I/O测试工具Bonnie++的专题

 

作者简介:

张乐奕,通常使用的网名为kamus,也曾用过seraphim,现在任职于北京某大型公司,DBA,主要负责证券行业的核心交易系统数据库管理及维护工作。

热切关注Oracle技术和相关技术,出没于各大数据库技术论坛,目前是中国最大的Oracle技术论坛www.itpub.net的数据库管理版版主。

阅读更多技术文章和随笔可以登录我的个人blog,http://blog.cdsn.net/kamus

 

目录

前言....1

安装....2

使用...4

评测...7

相关链接....8

 
前言
最早是eygle在itpub上推荐这个工具,起因是我对于Sun的软RAID性能提出的置疑,后来eygle陆续用这个工具作了一些盘阵IO的测试,包括EMC和T3的一些比较。

这些测试结果都发表在eygle的个人站点上,见本文最后相关链接部分。

 

但是我却一直没有自己用Bonnie++测试过IO性能,最近一个客户要修改自己盘阵的RAID配置,本来就是使用D2的阵列,只能支持软RAID的一个性能比较差的古老东东了,在我们的测试过程中忽然又发现12块盘的盘阵配置的是RAID10,但是同时只有2块盘在作读写,也就是stripe设置只是2,这个问题在一年多以前刚上系统的时候就是这样,居然一直没有发现用了这么长时间。

客户最终决定重新设置一下RAID的配置,首先将redo和datafile分开,redo所在的盘用4块作RAID10,剩下8块再作RAID10,供数据文件使用,并且重新设置stripe,redo所在的lun设置为2,datafile所在的lun设置为4。

从理论上看,这样的修改应该会大幅度提到整个数据库的I/O效率,但是客户要求能够有一个实际的修改效果报告,也就是需要作修改前和修改后的对比。

这样,于是决定使用Bonnie++来作磁盘级的修改效果报告。至于数据库级的修改效果自然有压力测试程序可以完成,此处不表。

 

既然决定使用,那么自然要琢磨一下该怎么用了。刚刚Bonnie++已经开始运行了,于是闲下来,写了这篇文章。

 
安装
其实今天大部分的时间是耗在怎么让Bonnie++运行起来上面了。

 

Bonnie++的主页上下载了最新的source,Bonnie++1.03a.tgz。

gunzipBonnie++-1.03a.tgz

生成Bonnie++-1.03a.tar文件,然后解包

tarxvfBonnie++-1.03a.tar

生成Bonnie++-1.03a文件夹

cdBonnie++-1.03a

make

报错。

/usr/ucb/cc: languageoptionalsoftwarepackagenotinstalled

 

原来编译器就根本没装。

先介绍一下主机情况,一台SunFirev480,两块73G内置硬盘,4个UltraSPARC-III+的CPU,8G内存,安装的是8,由于需要模拟真实环境,所以安装的是比较老的02.2版本,而且没有打任何patch。

 

在Sun给的安装光盘中居然没有找到CompanionCD,编译器应该是在这张盘上,没办法只好上网自己找,还好,很快就找到一个很棒的站点blastwave,包括了Solaris8,9的sparc和x86版本的所有需要的package。

 

根据gcc包下载页面中的说明,发现需要下载下面四个package。

common-1.3.3-SunOS5.8-sparc-CSW.pkg.gz

gcc3rt-3.3.3,REV=2004.04.23-SunOS5.8-sparc-CSW.pkg.gz

libiconv-1.8,REV=2003.01.12-SunOS5.8-sparc-CSW.pkg.gz

gcc3-3.3.3,REV=2004.03.22-SunOS5.8-sparc-CSW.pkg.gz

 

前面三个包是最后gcc3包的前提条件,必须安装。全部下载完毕,开始安装第一个包,也就是common那个包,报错。

提示操作系统的110934补丁版本过低,需要升级。

 

OK,再上网找,直接用google查,关键字是“110934soalris”,通常前面几个link就会指向SunSolve站点的下载页面,patch通常不大,很快就下载完了。

 

开始打补丁,patchadd110934-21。

系统运行半天,报错。

说要安装这个补丁就需要先安装110380-04的补丁。我倒。

再上网找,下载完110380-04,先patchadd110380-04,一切正常。共6页  1     
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>