zoukankan      html  css  js  c++  java
  • 使用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,+++++,+++,+++++,+++,+++++,+++,+++++,+++,+++++,+++,+++++,+++
  • 相关阅读:
    TCP/IP断网仍然显示连通状态禁止“媒体感知”
    ASP.NET页面优化,提高载入速度方法大全
    国家气象局提供
    datatable&list<T>
    windows mobile C# net3.5 如何捕捉Arrow的CheckBox的KeyDown事件?
    hhclass 类 RAPI OpenNETCF.Desktop.Communication.DLL相关下载
    string和stringBuilder区别
    windows mobile全屏设置笔记
    CSS浮动(float,clear)通俗讲解
    js图片延时加载(jquery特效)
  • 原文地址:https://www.cnblogs.com/super119/p/1902958.html
Copyright © 2011-2022 走看看