实测Raid5 VS Raid1+0下的innodb性能
1、说明
硬件:
Raid 5: DELL 2950, 8G RAM, 3块SEAGATE SAS 140G 盘构成
Raid 1+0: DELL 2950, 8G RAM, 4块SEAGATE SAS 140G 盘构成
软件:
Red Hat Enterprise Linux AS release 4 (Nahant Update 6)
Linux imysql.cn 2.6.9-67.0.15.ELsmp #1 SMP Tue Apr 22 13:58:43 EDT 2008 x86_64 x86_64 x86_64 GNU/Linux
mysql 5.0.45
sysbench-0.4.8
innodb主要相关参数:
innodb_buffer_pool_size = 6G innodb_data_file_path = ibdata1:1024M:autoextend innodb_thread_concurrency = 8 innodb_flush_log_at_trx_commit = 1 innodb_log_buffer_size = 16M innodb_log_file_size = 256M innodb_log_files_in_group = 3 innodb_max_dirty_pages_pct = 90 innodb_file_per_table
测试方法:
sysbench --test=oltp --oltp-test-mode=complex --mysql-engine-trx=yes \ --mysql-table-engine=innodb --mysql-db=test --oltp-table-name=xxx \ --oltp-table-size=xxx --num-threads=8
2、测试结果
| 
 表记录数  | 
 prepare  | 
 transaction/s  | 
 r/w request/s  | 
 other/s  | 
 total time  | 
| 
 100w  | 
 15.876s  | 
 2554.77  | 
 48540.71  | 
 5109.55  | 
 3.9142s  | 
| 
 15.467s  | 
 2578.27  | 
 48987.1  | 
 5156.54  | 
 3.8786s  | 
|
| 
 
  | 
|||||
| 
 500w  | 
 1m27.716s  | 
 2179.69  | 
 41414.13  | 
 4359.38  | 
 4.5878s  | 
| 
 1m24.817s  | 
 2165.17  | 
 41138.26  | 
 4330.34  | 
 4.6186s  | 
|
| 
 1000w  | 
 3m0.816s  | 
 802.24  | 
 15242.62  | 
 1604.49  | 
 12.4650s  | 
| 
 2m54.242s  | 
 1413.52  | 
 26856.94  | 
 2827.05  | 
 7.0745s  | 
|
| 
 5000w  | 
 16m2.075s  | 
 297.1  | 
 5644.82  | 
 594.19  | 
 33.6592s  | 
| 
 15m29.652s  | 
 336.98  | 
 6402.54  | 
 673.95  | 
 29.6757s  | 
|
| 
 1亿  | 
 32m45.385s  | 
 101.87  | 
 1935.56  | 
 203.74  | 
 98.1628s  | 
| 
 31m35.462s  | 
 123.7  | 
 2350.31  | 
 247.4  | 
 80.8405s  | 
|
| 
 raid 5  | 
|||||
| 
 raid 1+0  | 
小结:其实3块盘的raid5和4块盘的raid1+0的容量是一样的,想要得到更好的性能,那么就多花一块盘的前吧 :) 不过,话说回来,raid1+0最多允许同时坏2块,raid5只能一块,因此还需要增加一块热备盘,所以这么算的话,成本还是一样的。
      
评论
xlight
周三, 2008/07/09 - 20:31
Permalink
在硬盘如此便宜的今
在硬盘如此便宜的今天
raid5绝对是不合时宜的啦。他需要额外的cpu进行数据处理,成本很高的
这里的验证码真bt啊真btt
验证码:#ij$j5N
yejr
周三, 2008/07/09 - 20:52
Permalink
呵呵,存在即合理,
呵呵,存在即合理,总有存在的道理的,不要这么绝对。验证码是防止spam的,没办法,及时如此,还有人发垃圾回复。
MySQL方案、培训、支持
游客 (未验证)
周四, 2008/07/10 - 14:13
Permalink
请问下,我的表也是IN
请问下,我的表也是INNODB类型的,也是8G内存,可是我的innodb_buffer_pool_size = 1700M只能设定的小于2G,如果你大于2G,起动就报OUT OF MEMERY!
为什么你可以设的到6G,我怎么才能设的象你那么大
游客 (未验证)
周四, 2008/07/10 - 14:22
Permalink
我的也是LINUX AS 4
我的也是LINUX AS 4 X86的系统,装的也是MYSQL 5.0.45
我的数据库表也是INNODB类型的,可是我的innodb_buffer_pool_size = 1700M这个值只能设的小于2G,如果大于2G起动就报OUT OF MEMERY,我怎么才能象你的那样给innodb_buffer_pool_size =6G ?
yejr
周四, 2008/07/10 - 14:29
Permalink
确定你是64位系统?
确定你是64位系统?贴上os和mysql的版本号先。
MySQL方案、培训、支持
shanks (未验证)
周三, 2014/01/08 - 16:28
Permalink
兄弟,你有没有测试过硬盘数不相同时5和10的对比
兄弟,你有没有测试过硬盘数不相同时5和10的对比