使用Bonnie++测试磁盘和文件系统的性能

平常我们会使用hdparm -tT /dev/sda这样的工具来测试磁盘性能,要注意的是,hdparm是纯硬件的操作测试,而且hdparm -tT其实都是测试cache的read操作,一个是测试Linux系统cache,一个是测试磁盘本身的cache read,所以,对使用了什么文件系统没有关系,是纯硬件的测试。但是hdparm -tT只能做read测试,不能做write测试,所以,一般使用这个命令就是测试一下磁盘是否能正常工作,DMA有没有打开等。 

这次我使用了Bonnie来做磁盘的综合测试。Bonnie++是随机生成一些数据,对硬盘进行读和写的测试。所以,除了测试磁盘本身的性能之外,还测试了文件系统的性能。Bonnie++默认会读写的数据量是内存的两倍大小,软件很小,安装很方便,redhat下有rpm可以下载,ArchLinux的库里面也有这个软件。下来之后,man bonnie++就可以了解这个软件的使用。注意bonnie++使用的时候不需要指定/dev/sda这样的东西了,因为bonnie++不是测试磁盘,是在文件系统之上的测试,所以,只需要提供一个临时的目录让bonnie++存放数据就可以进行测试,而这个临时目录是在哪个磁盘上的,当然就是测试这个磁盘的性能了。 

管理节点IBM x3650 3块SAS盘做的RAID 5的bonnie++测试性能(RAID阵列卡带了256MB的Cache): 

注:下面测试数据中,++++表示该项测试在500ms内完成,具体看bonnie++的man手册。 

[eric@mnode ~]$ bonnie++ -d /home/eric/volatile 
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 
mnode 8G 51854 86 119933 25 50188 8 54248 79 142055 10 641.3 0 
------Sequential Create------ --------Random Create-------- 
-Create-- --Read--- -Delete-- -Create-- --Read--- -Delete-- 
files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP 
16 30622 42 +++++ +++ +++++ +++ +++++ +++ +++++ +++ +++++ +++ 
mnode,8G,51854,86,119933,25,50188,8,54248,79,142055,10,641.3,0,16,30622,42,+++++,+++,+++++,+++,+++++,+++,+++++,+++,+++++,+++ 

管理节点用光纤接的IBM DS3400存储的性能测试: 

[eric@mnode ~]$ bonnie++ -d /storage/volatile 
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 
mnode 8G 58839 97 126494 27 58162 9 52251 77 195476 16 956.3 1 
------Sequential Create------ --------Random Create-------- 
-Create-- --Read--- -Delete-- -Create-- --Read--- -Delete-- 
files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP 
16 4067 99 +++++ +++ +++++ +++ 4143 99 +++++ +++ 13160 99 
mnode,8G,58839,97,126494,27,58162,9,52251,77,195476,16,956.3,1,16,4067,99,+++++,+++,+++++,+++,4143,99,+++++,+++,13160,99 


普通计算节点(一块SAS硬盘,无RAID): 

[eric@node44 ~]$ bonnie++ -d /tmp 
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 
node44 8G 54338 91 64252 14 25761 4 51880 76 59608 4 395.4 0 
------Sequential Create------ --------Random Create-------- 
-Create-- --Read--- -Delete-- -Create-- --Read--- -Delete-- 
files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP 
16 +++++ +++ +++++ +++ +++++ +++ +++++ +++ +++++ +++ +++++ +++ 
node44,8G,54338,91,64252,14,25761,4,51880,76,59608,4,395.4,0,16,+++++,+++,+++++,+++,+++++,+++,+++++,+++,+++++,+++,+++++,+++
原文地址:https://www.cnblogs.com/super119/p/1902958.html