仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 865|回复: 8
打印 上一主题 下一主题

[学习教程] MSSQL网站制作之Use bonnie++ to Test system IO speed...

[复制链接]
深爱那片海 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:35:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
支持多种存储引擎。
原文链接:

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



因为Bonnie存在一些尽人皆知的成绩,好比>2G的文件撑持.
RussellCoker(russell@coker.com.au)开辟了一套新的代码,用以撑持>2G的文件等.
失掉TimBray(tbray@textuality.com)的允许以后,Russell把他的软件定名为bonnie++,在网上公布,并入手下手盛行起来.

今朝的版本已更新到了1.03a,你能够到以下地点下载:
http://www.coker.com.au/bonnie++/
你也能够点击这里下载,这个版本必要编译,假如你没有编译情况,能够点击这里下载我编译好的,合用于SUNSolaris情况(Solaris8测试经由过程)

RussellCoker的团体主页是:
http://www.coker.com.au/

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

我复杂先容一下Bonnie++的编译及利用:

1.编译

你必要把以高低载的源码编译今后才干利用,假如你没有编译情况,能够点击这里下载我编译好的,合用于SUNSolaris情况(Solaris8测试经由过程)

固然你必要安装make,及gcc等需要编译器.在编译过程当中,假如碰到以下毛病,多是由于你没有设置准确的情况变量

$./configure
grep:illegaloption--q
Usage:grep-hblcnsviwpatternfile...
grep:illegaloption--q
Usage:grep-hblcnsviwpatternfile...
checkingforg++...g++
checkingforC++compilerdefaultoutput...a.out
checkingwhethertheC++compilerworks...configure:error:cannotrunC++compiledprograms.
Ifyoumeanttocrosscompile,use`--host.
See`config.logformoredetails.

设置情况变量后持续编译,一样平常能够乐成.



#exportLD_LIBRARY_PATH=/usr/lib:/usr/local/lib
#./configure
grep:illegaloption--q
Usage:grep-hblcnsviwpatternfile...
grep:illegaloption--q
Usage:grep-hblcnsviwpatternfile...
checkingforg++...g++
checkingforC++compilerdefaultoutput...a.out
checkingwhethertheC++compilerworks...yes
checkingwhetherwearecrosscompiling...no
checkingforsuffixofexecutables...
checkingforsuffixofobjectfiles...o
checkingwhetherweareusingtheGNUC++compiler...yes
checkingwhetherg++accepts-g...yes
checkinghowtoruntheC++preprocessor...g++-E
checkingforaBSD-compatibleinstall.../usr/bin/install-c
checkingforanANSIC-conformingconst...yes
checkingforegrep...egrep
checkingforANSICheaderfiles...yes
checkingforsys/types.h...yes
checkingforsys/stat.h...yes
checkingforstdlib.h...yes
checkingforstring.h...yes
checkingformemory.h...yes
checkingforstrings.h...yes
checkingforinttypes.h...yes
checkingforstdint.h...no
checkingforunistd.h...yes
checkingforsize_t...yes
checkingvector.husability...yes
checkingvector.hpresence...yes
checkingforvector.h...yes
checkingvectorusability...yes
checkingvectorpresence...yes
checkingforvector...yes
checkingalgorithmusability...yes
checkingalgorithmpresence...yes
checkingforalgorithm...yes
checkingalgo.husability...yes
checkingalgo.hpresence...yes
checkingforalgo.h...yes
checkingalgousability...no
checkingalgopresence...no
checkingforalgo...no
configure:creating./config.status
config.status:creatingMakefile
config.status:creatingbonnie.h
config.status:creatingport.h
config.status:creatingbonnie++.spec
config.status:creatingbon_csv2html
config.status:creatingbon_csv2txt
config.status:creatingsun/pkginfo
config.status:creatingconf.h
config.status:conf.hisunchanged



编译完成以后会天生bonnie++,能够用来测试了.

2.上面是一些测试了局

a.T3年夜文件读写测试

#./bonnie++-d/data1-uroot-s4096-mbillingUsinguid:0,gid:1.Writingwithputc()...doneWritingintelligently...doneRewriting...doneReadingwithgetc()...doneReadingintelligently...donestartem...done...done...done...Createfilesinsequentialorder...done.Statfilesinsequentialorder...done.Deletefilesinsequentialorder...done.Createfilesinrandomorder...done.Statfilesinrandomorder...done.Deletefilesinrandomorder...done.Version1.03------SequentialOutput--------SequentialInput---Random--PerChr---Block---Rewrite--PerChr---Block----Seeks--MachineSizeK/sec%CPK/sec%CPK/sec%CPK/sec%CPK/sec%CP/sec%CPbilling4G991587303195611685389999994732666177.63------SequentialCreate--------------RandomCreate---------Create----Read----Delete---Create----Read----Delete--files/sec%CP/sec%CP/sec%CP/sec%CP/sec%CP/sec%CP1663919++++++++12582267916++++++++119727billing,4G,9915,87,30319,56,11685,38,9999,99,47326,66,177.6,3,16,639,19,+++++,+++,1258,22,679,16,+++++,+++,1197,27

b.EMCCLARiiONCX500测试数据

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

4块盘的Raid1+0测试:

#./bonnie++-d/eygle-uroot-s4096-mjumpUsinguid:0,gid:1.FilesizeshouldbedoubleRAMforgoodresults,RAMis4096M.#./bonnie++-d/eygle-uroot-s8192-mjumpUsinguid:0,gid:1.Writingwithputc()...doneWritingintelligently...doneRewriting...doneReadingwithgetc()...doneReadingintelligently...donestartem...done...done...done...Createfilesinsequentialorder...done.Statfilesinsequentialorder...done.Deletefilesinsequentialorder...done.Createfilesinrandomorder...done.Statfilesinrandomorder...done.Deletefilesinrandomorder...done.Version1.03------SequentialOutput--------SequentialInput---Random--PerChr---Block---Rewrite--PerChr---Block----Seeks--MachineSizeK/sec%CPK/sec%CPK/sec%CPK/sec%CPK/sec%CP/sec%CPjump8G1264736134148795213336369714650371465.75------SequentialCreate--------------RandomCreate---------Create----Read----Delete---Create----Read----Delete--files/sec%CP/sec%CP/sec%CP/sec%CP/sec%CP/sec%CP16861++++++++1611811++++++++1631jump,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-uroot-s8192-mjumpUsinguid:0,gid:1.Writingwithputc()...doneWritingintelligently...doneRewriting...doneReadingwithgetc()...doneReadingintelligently...donestartem...done...done...done...Createfilesinsequentialorder...done.Statfilesinsequentialorder...done.Deletefilesinsequentialorder...done.Createfilesinrandomorder...done.Statfilesinrandomorder...done.Deletefilesinrandomorder...done.Version1.03------SequentialOutput--------SequentialInput---Random--PerChr---Block---Rewrite--PerChr---Block----Seeks--MachineSizeK/sec%CPK/sec%CPK/sec%CPK/sec%CPK/sec%CP/sec%CPjump8G109563010771633885341699815886175431.15------SequentialCreate--------------RandomCreate---------Create----Read----Delete---Create----Read----Delete--files/sec%CP/sec%CP/sec%CP/sec%CP/sec%CP/sec%CP16811++++++++1601821++++++++1091jump,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读Raid1012,64713,41433,636146,503Raid510,95610,77134,169158,861Diff1,6912,643-533-12,358
我们看到,在间接读写上,写Raid10会略快于Raid5;而在读取上,Raid5会略快于Raid10,这切合我们一般的概念.

这里必要提一下的是,一般我们倡议把RedoLogfile寄存在Raid10的磁盘上,因其具有写上风.
上面我们说了DML的闪回方案。但对于DDL却无能为力,对于大多数的DDL,即使是rowbase格式,二进制日志binlog中仍只记录语句本身。对于删表操作,只记录一个语句droptablet。仅凭这句话,无法还原表的数据。
再现理想 该用户已被删除
沙发
发表于 2015-1-19 10:03:15 | 只看该作者
对于数据库来说,查询是数据库的灵魂,那么SQL查询效率究竟效率如何呢?下文将带对SQL查询的相关问题进行讨论,供您参考。
透明 该用户已被删除
板凳
发表于 2015-1-24 12:09:06 | 只看该作者
如果处理少量数据,比如几百条记录的数据,我不知道这两种情况哪个效率更高,如果处理大量数据呢?比如有表中有20万条记录.
活着的死人 该用户已被删除
地板
发表于 2015-2-1 10:18:44 | 只看该作者
财务软件要用SQL也只是后台的数据库而已,软件都是成品的,当然多学东西肯定是有好处的..
愤怒的大鸟 该用户已被删除
5#
发表于 2015-2-7 03:29:44 | 只看该作者
一个百万级别的基本信息表A,一个百万级别的详细记录表B,A中有个身份证id,B中也有身份id;先要找出A中在B的详细记录。
谁可相欹 该用户已被删除
6#
发表于 2015-2-20 07:11:11 | 只看该作者
如安全管理、备份恢复、性能监控和调优等,SQL只要熟悉基本操作就可以,只要程序设计部分只要稍加了解即可(如存储过程、触发器等)。
金色的骷髅 该用户已被删除
7#
发表于 2015-3-6 16:37:05 | 只看该作者
原理很简单,对要求长时间计算某一时间点的报表生成和防用户操作错误很有帮助。但是比起Oracle10g的闪回技术还是细粒度不够。可惜!
变相怪杰 该用户已被删除
8#
发表于 2015-3-13 04:10:22 | 只看该作者
多走走一此相关论坛,多看一些实例开发,多交流0经验,没什么的,我也是刚学没多久!加油
深爱那片海 该用户已被删除
9#
 楼主| 发表于 2015-3-20 12:30:48 | 只看该作者
多走走一此相关论坛,多看一些实例开发,多交流0经验,没什么的,我也是刚学没多久!加油
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 05:30

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表