IBM V7000f Performance Test with Vdbench Tool on IBM AIX

0
2691
  • 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

LEAVE A REPLY

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.