实测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的对比