- Firsty, you should download vdbench to oracle web site. You can see the name vdbench50406.zip like this.
- And you have to install java 8,because vdbench use Java8.Its required.
- Put java path to your root profile.
vi .profile export PATH=/usr/java8_64/jre/bin:$PATH:/usr/DynamicLinkManager/bin:/opt/freeware/bin :wq
check your path
root@yedekdonus:/home/root # which java /usr/java8_64/jre/bin/java
- Give 40 raw disk of size 50GB
- set disk parameters
lspv |grep -v rootvg |grep None |awk '{print $1}'|while read a do chdev -l $a -a queue_depth=32 -a reserve_policy=no_reserve chdev -l $a -a max_transfer='0x200000' done
- set fiber card parameters.
lsdev -Ccadapter|grep fcs|while read a oth do chdev -l $a -a max_xfer_size=0x200000 chdev -l $a -a num_cmd_elems=2048 done lsdev -C|grep fscsi|while read a oth do chdev -l $a -a dyntrk=yes -a fc_err_recov=fast_fail done
- Create your vdbench parameter file
vi vdbench_test_disks
sd=sd01,lun=/dev/rhdisk39 sd=sd02,lun=/dev/rhdisk40 sd=sd03,lun=/dev/rhdisk41 sd=sd04,lun=/dev/rhdisk46 sd=sd05,lun=/dev/rhdisk47 sd=sd06,lun=/dev/rhdisk48 sd=sd07,lun=/dev/rhdisk49 sd=sd08,lun=/dev/rhdisk50 sd=sd09,lun=/dev/rhdisk51 sd=sd10,lun=/dev/rhdisk52 sd=sd11,lun=/dev/rhdisk53 sd=sd12,lun=/dev/rhdisk54 sd=sd13,lun=/dev/rhdisk55 sd=sd14,lun=/dev/rhdisk56 sd=sd15,lun=/dev/rhdisk57 sd=sd16,lun=/dev/rhdisk58 sd=sd17,lun=/dev/rhdisk59 sd=sd18,lun=/dev/rhdisk60 sd=sd19,lun=/dev/rhdisk61 sd=sd20,lun=/dev/rhdisk62 sd=sd21,lun=/dev/rhdisk63 sd=sd22,lun=/dev/rhdisk64 sd=sd23,lun=/dev/rhdisk65 sd=sd24,lun=/dev/rhdisk66 sd=sd25,lun=/dev/rhdisk67 sd=sd26,lun=/dev/rhdisk68 sd=sd27,lun=/dev/rhdisk69 sd=sd28,lun=/dev/rhdisk70 sd=sd29,lun=/dev/rhdisk71 sd=sd30,lun=/dev/rhdisk72 sd=sd31,lun=/dev/rhdisk73 sd=sd32,lun=/dev/rhdisk74 sd=sd33,lun=/dev/rhdisk75 sd=sd34,lun=/dev/rhdisk76 sd=sd35,lun=/dev/rhdisk77 sd=sd36,lun=/dev/rhdisk78 sd=sd37,lun=/dev/rhdisk79 sd=sd38,lun=/dev/rhdisk80 sd=sd39,lun=/dev/rhdisk81 sd=sd40,lun=/dev/rhdisk82 # Workload Definition wd=wd01,sd=(sd01,sd21) wd=wd02,sd=(sd02,sd22) wd=wd03,sd=(sd03,sd23) wd=wd04,sd=(sd04,sd24) wd=wd05,sd=(sd05,sd25) wd=wd06,sd=(sd06,sd26) wd=wd07,sd=(sd07,sd27) wd=wd08,sd=(sd08,sd28) wd=wd09,sd=(sd09,sd29) wd=wd10,sd=(sd10,sd30) wd=wd11,sd=(sd11,sd31) wd=wd12,sd=(sd12,sd32) wd=wd13,sd=(sd13,sd33) wd=wd14,sd=(sd14,sd34) wd=wd15,sd=(sd15,sd35) wd=wd16,sd=(sd16,sd36) wd=wd17,sd=(sd17,sd37) wd=wd18,sd=(sd18,sd38) wd=wd19,sd=(sd19,sd39) wd=wd20,sd=(sd20,sd40)
- We will create a script to run vdbench tool.I run each test 300 sec with %70 read -8k Blocks-%30 cache hit and 16-20-32 process.
vi test_disk_vdbench.sh
#!/bin/ksh block_size="8k" read_write="70 80" #kpct="70 80 100" kpct="70 80" #kpct 70 ise cache ratio 30 olur #thrdk="16 20 32" thrdk="16 20 32" test_time=300 PARAMFILE=vdbench_test.prm #block_size="8k" #read_write="70" #kpct="50" #thrdk="4 8 16 20" host_name=`hostname` tarih=$(date "+%m%d%y.%H%M%S") sonuc="sonuc.$host_name.$tarih.txt" sonuc2="sonuc2.$host_name.$tarih.txt" for bsize in `echo $block_size` do for rw in `echo $read_write` do for kpt in `echo $kpct` do for thrd in `echo $thrdk` do echo "`date` $bsize $rw $kpt starting " >>$sonuc2.txt cp vdbench_test_disks $PARAMFILE echo "rd=RandRead,wd=wd*,iorate=max,elapsed=$test_time,interval=60,forxfersize=($bsize),forthreads=($thrd),forrdpct=($rw),forseekpct=($kpt)" >> $PARAMFILE ./vdbench -f $PARAMFILE >aaa.txt DISKIO=`cat aaa.txt|grep avg_2|awk {'print $3'}` MBSec=`cat aaa.txt|grep avg_2|awk {'print $4'}` Response=`cat aaa.txt|grep avg_2|awk {'print $7'}` echo $DISKIO $MBSec echo "$qdp $bsize $rw $kpt $thrd $DISKIO $MBSec $Response" >>$sonuc done done done done
chmod +x test_disk_vdbench.sh ==> Execute permission
- run your script
sh test_disk_vdbench.sh
you can see some outputs like this below on your directory.I did some tests.
root@yedekdonus:/home/root/vdbench # ls -ltr sonuc.* -rw-r--r-- 1 root system 290 Apr 05 16:20 sonuc.yedekdonus.040517.153848.txt -rw-r--r-- 1 root system 76 Apr 05 16:41 sonuc.yedekdonus.040517.163042.txt -rw-r--r-- 1 root system 68 Apr 05 17:03 sonuc.yedekdonus.040517.170306.txt -rw-r--r-- 1 root system 380 Apr 05 17:57 sonuc.yedekdonus.040517.170418.txt -rw-r--r-- 1 root system 231 Apr 06 16:03 sonuc.yedekdonus.040617.153024.txt -rw-r--r-- 1 root system 17 Apr 06 16:14 sonuc.yedekdonus.040617.161403.txt -rw-r--r-- 1 root system 266 Apr 06 16:51 sonuc.yedekdonus.040617.161503.txt
8k block
%70 read -%30 Write
%30 cache hit
I got 160K-170K IOPS. And response time average 3-4 ms. Response time is very important for OLTP Databases.But I cant use my fiber cards very well because CPU bottleneck.I have 12 Power7 CPU. If I have 18-20 CPU, I will get 200K average IOP and average 2 ms response time.
root@yedekdonus:/home/root/vdbench # cat sonuc.yedekdonus.040617.161503.txt 8k 70 70 16 160146.33 1251.14 3.928 8k 70 70 20 174470.12 1363.05 4.509 8k 70 70 32 167187.77 1306.15 7.501 8k 70 80 16 170155.62 1329.34 3.708 8k 70 80 20 176028.89 1375.23 4.471 8k 70 80 32 151854.24 1186.36 8.217 8k 80 70 16 183301.76 1432.05 3.436