Use bonnie to Test system IO speed
Friday, 2004-09-17 11:33 Eygle
原文链接:
http://www.eygle.com/unix/Use.Bonnie.To.Test.IO.speed.htm
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 测试数据
系统环境:
# /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相差无几.