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相差无几.