Bonnie进行系统IO性能测试

来源:百度文库 编辑:神马文学网 时间:2024/04/26 05:47:08
Bonnie是一款极小的测试系统IO性能的工具,源代码公开.作者主页:
http://www.textuality.com/bonnie/
你也可以点击这里下载
编译Bonnie极其简单,但是需要你安装了make及gcc (或cc)
# make
Options are "make bsd" and "make SysV" - the default is "bsd".
If you get messages about missing functions, try "make SysV."
make Bonnie
make[1]: Entering directory `/export/home/gqgai/bonnie'
cc -O Bonnie.c -o Bonnie
make[1]: Leaving directory `/export/home/gqgai/bonnie'
其使用手册在:
http://www.textuality.com/bonnie/advice.html
测试IO速度:
1.T3阵列速度测试(raid5)
# df -k
Filesystem kbytes used avail capacity Mounted on
/dev/dsk/c0t0d0s0 1018382 117711 839569 13% /
/dev/dsk/c0t0d0s6 2055705 1177602 816432 60% /usr
/proc 0 0 0 0% /proc
fd 0 0 0 0% /dev/fd
mnttab 0 0 0 0% /etc/mnttab
/dev/dsk/c0t0d0s1 1448911 772148 618807 56% /var
swap 4770120 8 4770112 1% /var/run
swap 4958928 188816 4770112 4% /tmp
/dev/dsk/c5t1d0s0 51634648 35154404 15963898 69% /data1
/dev/dsk/c5t1d1s1 25816144 21498881 4059102 85% /data3
/dev/dsk/c5t1d1s0 25816144 14650723 10907260 58% /data2
/dev/dsk/c0t2d0s1 15483618 1074317 14254465 8% /temp
/dev/dsk/c0t2d0s0 7136886 2824586 4240932 40% /varlink
/dev/dsk/c0t2d0s5 8258597 5868224 2307788 72% /opt
/dev/dsk/c0t2d0s7 2053605 1281342 710655 65% /export/home
/dev/dsk/c0t2d0s6 2053605 178151 1813846 9% /usr/local
# format
Searching for disks...done
AVAILABLE DISK SELECTIONS:
0. c0t0d0
/pci@1f,4000/scsi@3/sd@0,0
1. c0t1d0
/pci@1f,4000/scsi@3/sd@1,0
2. c0t2d0
/pci@1f,4000/scsi@3/sd@2,0
3. c3t0d0
/pci@4,4000/scsi@4/sd@0,0
4. c3t1d0
/pci@4,4000/scsi@4/sd@1,0
5. c3t2d0
/pci@4,4000/scsi@4/sd@2,0
6. c3t3d0
/pci@4,4000/scsi@4/sd@3,0
7. c5t1d0
/pci@1f,2000/SUNW,qlc@1/fp@0,0/ssd@w50020f23000083a2,0
8. c5t1d1
/pci@1f,2000/SUNW,qlc@1/fp@0,0/ssd@w50020f23000083a2,1
Specify disk (enter its number): ^D
# ./Bonnie -d /data1 -s 2046 -m billing-center
File '/data1/Bonnie.8273', size: 2145386496
Writing with putc()...done
Rewriting...done
Writing intelligently...done
Reading with getc()...done
Reading intelligently...adone
Seeker 2...Seeker 1...Seeker 3...start 'em...done...done...done...
-------Sequential Output-------- ---Sequential Input-- --Random--
-Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks---
Machine MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU /sec %CPU
billing- 2046 10251 87.5 32430 55.7 14048 39.5 12625 99.5 48763 67.3 61.5 8.3
简要介绍一下输出:
这里 Sequential Output 指写入速度,Char指按字符方式写入,Block指按块方式写入,Rewrite指顺序改写速度(也就是数据修改)
Sequential Input 指读取速度
CPU,指该操作占用的CPU资源.
此处T3 Raid5的写入达到 10251 K/sec
2.本地磁盘速度
# ./Bonnie -d /opt/oracle -s 1024 -m billing-center
File '/opt/oracle/Bonnie.8545', size: 1073741824
Writing with putc()...done
Rewriting...done
Writing intelligently...done
Reading with getc()...done
Reading intelligently...done
Seeker Seeker 2...1...Seeker 3...start 'em...done...done...done...
-------Sequential Output-------- ---Sequential Input-- --Random--
-Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks---
Machine MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU /sec %CPU
billing- 1024 9582 85.0 15928 29.8 6900 20.3 11735 96.5 46098 67.2 256.6 8.8
后面会逐渐添加一些其他硬件的测试数据.
3. EMC CLARiiON CX500 测试数据
系统环境:
4块盘的Raid1+0测试:
# ./bonnie++ -d /eygle -u root -s 4096 -m jump
Using uid:0, gid:1.
File size should be double RAM for good results, RAM is 4096M.
# ./bonnie++ -d /eygle -u root -s 8192 -m jump
Using uid:0, gid:1.
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
jump 8G 12647 36 13414 8 7952 13 33636 97 146503 71 465.7 5
------Sequential Create------ --------Random Create--------
-Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP
16 86 1 +++++ +++ 161 1 81 1 +++++ +++ 163 1
jump,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 -u root -s 8192 -m jump
Using uid:0, gid:1.
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
jump 8G 10956 30 10771 6 3388 5 34169 98 158861 75 431.1 5
------Sequential Create------ --------Random Create--------
-Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP
16 81 1 +++++ +++ 160 1 82 1 +++++ +++ 109 1
jump,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读
Raid10 12,647
13,414
33,636
146,503
Raid5 10,956
10,771
34,169
158,861
Diff 1,691
2,643
-533
-12,358
# /usr/platform/sun4u/sbin/prtdiag -v
System Configuration: Sun Microsystems sun4u Sun Fire 480R
System clock frequency: 150 MHz
Memory size: 4096 Megabytes
========================= CPUs ===============================================
Run E$ CPU CPU
Brd CPU MHz MB Impl. Mask
--- --- --- ---- ------- ----
A 0 1050 8.0 US-III+ 11.0
A 2 1050 8.0 US-III+ 11.0
========================= Memory Configuration ===============================
Logical Logical Logical
MC Bank Bank Bank DIMM Interleave Interleaved
Brd ID num size Status Size Factor with
--- --- ---- ------ ----------- ------ ---------- -----------
A 0 0 512MB no_status 256MB 8-way 0
A 0 1 512MB no_status 256MB 8-way 0
A 0 2 512MB no_status 256MB 8-way 0
A 0 3 512MB no_status 256MB 8-way 0
A 2 0 512MB no_status 256MB 8-way 0
A 2 1 512MB no_status 256MB 8-way 0
A 2 2 512MB no_status 256MB 8-way 0
A 2 3 512MB no_status 256MB 8-way 0
========================= IO Cards =========================
Bus Max
IO Port Bus Freq Bus Dev,
Type ID Side Slot MHz Freq Func State Name Model
---- ---- ---- ---- ---- ---- ---- ----- -------------------------------- ----------------------
PCI 8 B 2 33 33 2,0 ok SUNW,XVR-100 SUNW,375-3126
PCI 8 B 4 33 33 4,0 ok fibre-channel-pci10df,f900.10df.+
PCI 8 B 5 33 33 5,0 ok fibre-channel-pci10df,f900.10df.+
PCI 8 A 0 66 66 1,0 ok pci-pci8086,b154.0/pci108e,1000 PCI-BRIDGE
PCI 8 A 0 66 66 0,0 ok pci108e,1000-pci108e,1000.1 device on pci-bridge
PCI 8 A 0 66 66 0,1 ok SUNW,qfe-pci108e,1001 SUNW,pci-qfe/pci-bridg+
PCI 8 A 0 66 66 1,0 ok pci108e,1000-pci108e,1000.1 device on pci-bridge
PCI 8 A 0 66 66 1,1 ok SUNW,qfe-pci108e,1001 SUNW,pci-qfe/pci-bridg+
PCI 8 A 0 66 66 2,0 ok pci108e,1000-pci108e,1000.1 device on pci-bridge
PCI 8 A 0 66 66 2,1 ok SUNW,qfe-pci108e,1001 SUNW,pci-qfe/pci-bridg+
PCI 8 A 0 66 66 3,0 ok pci108e,1000-pci108e,1000.1 device on pci-bridge
PCI 8 A 0 66 66 3,1 ok SUNW,qfe-pci108e,1001 SUNW,pci-qfe/pci-bridg+
========================= Environmental Status =========================
System Temperatures (Celsius):
-------------------------------
Device Temperature Status
---------------------------------------
CPU0 50 OK
CPU2 52 OK
DBP0 28 OK
=================================
Front Status Panel:
-------------------
Keyswitch position: NORMAL
System LED Status:
LOCATOR FAULT POWER
------- ------- -------
[OFF] [OFF] [ ON]
=================================
Disk Status:
------------
DISK 0: [NO_FAULT]
DISK 1: [NO_FAULT]
=================================
Fan Status:
-----------
Bank RPM Status
---- ----- ------
CPU0 5660 [NO_FAULT]
CPU1 3896 [NO_FAULT]
CPU2 3797 [NO_FAULT]
IO0 3947 [NO_FAULT]
IO1 4166 [NO_FAULT]
=================================
Power Supplies:
---------------
Supply Status
------ ------
PS0 [NO_FAULT]
PS1 [NO_FAULT]
=================================
========================= HW Revisions =======================================
System PROM revisions:
----------------------
OBP 4.10.8 2003/07/25 08:44
IO ASIC revisions:
------------------
Port
Model ID Status Version
-------- ---- ------ -------
Schizo 8 ok 7
Schizo 9 ok 7
阵列为CLARiiON CX500,以下分别是4块盘的Raid1+0及Raid5的测试数据:
Raid1+0测试
# ./Bonnie -d /eygle -s 2046 -m jump
File '/eygle/Bonnie.460', size: 2145386496
Writing with putc()...done
Rewriting...done
Writing intelligently...done
Reading with getc()...done
Reading intelligently...done
Seeker Seeker 2...1...Seeker 3...start 'em...done...done...done...
-------Sequential Output-------- ---Sequential Input-- --Random--
-Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks---
Machine MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU /sec %CPU
jump 2046 37438 88.8 111172 63.8 75940 90.0 43495 99.7 322153 99.9 17747.8 177.5
这里EMC CX500的速度达到了,37438K/sec,比T3的性能强了很多
下面是Raid5的测试数据:
# ./Bonnie -d /eygle -s 2046 -m jump
File '/eygle/Bonnie.473', size: 2145386496
Writing with putc()...done
Rewriting...done
Writing intelligently...done
Reading with getc()...done
Reading intelligently...done
Seeker Seeker 2...1...Seeker 3...start 'em...done...done...done...
-------Sequential Output-------- ---Sequential Input-- --Random--
-Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks---
Machine MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU /sec %CPU
jump 2046 40652 95.5 106768 56.1 75673 90.9 43356 99.4 314381 99.8 17347.3 160.5
Raid5这里的字符写速度达到了40652K/sec,较Raid1+0稍快,而Block方式写Raid1+0较Raid5稍快.
实际上EMC一直强调其Raid5读写性能较Raid1+0相差无几.