Vdbench is a controlled I/O load simulation tool for storage systems developed by oracle as an open source.
- It works with Linux and Windows
- Written in Java and C
Vdbench has three basic definitions in the configuration file.
- SD or storage definition: This defines what storage to use for the testing.
- WD or workload definition: This defines the workload parameter for the testing.
- RD or run definition: This defines storage, workload and run duration.
Storage definition
SD defines the storage used for the testing. Make sure you select the right storage or else everything on the selected disk could get destroyed. The SD name should be unique.
sd=default,size=100g
sd=sd1,lun=/dev/sdb0
sd=sd2,lun=/dev/sdb1,size=100g
sd=sd3,lun=/dev/sdb2,size=200g
Workload definition
WD defines the workload used by the script for testing. The WD name must be unique.
WD parameters include the following:
sd – Test device
seekpct – Percentage time to move location
rdpct – Read percentage
xfersize – Transfer size
skew – Percentage of skew this workload receives from the total I/O rate
wd – Default setup for the workload
threads – How many concurrent operations for this workload
hotband – Executes hot band workload against a range of storage
wd=hotwd_uniform,skew=6,sd=sd*,seekpct=100,rdpct=50 wd=hotwd_hot1,sd=sd*,skew=28,seekpct=rand,hotband=(10,18)
Run definition
RD defines what storage and workload will be run together and for how long. Each run definition name must be unique.
RD parameters include:
wd – Workload load definition
iorate – Either IOPS
warmup – Warm-up time that will be excluded from the elapsed time (10s/2m/1h)
elapsed – How long to run
interval – Stats collection interval
threads – Number of threads
forrdpct – Range of percentage read to execute
rd=rd1_hband,wd=HOTwd*,iorate=MAX,warmup=30,elapsed=6H,interval=10,pause=30,th=200 rd=rd1_seq,wd=wd_seq,iorate=max,forrdpct=(0,100),xfer=256K,warmup=30,el=20m,in=5,th=20
1.Download vdbench from oracle site :
Vdbench Downloads (oracle.com)
2.copy the zip file to windows/linux.
3.Insall JAVA on windows/linux
4.Once extract the files you can find there will be example7 config file: edit the config file as per your req:
file:example7:
vdbench50407]# cat example7
*
* Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
*
*
* Author: Henk Vandenbergh.
*
*Example 7: File system testing
fsd=fsd1,anchor=/dir1,depth=2,width=2,files=2,size=100g
fwd=fwd1,fsd=fsd1,operation=read,xfersize=4k,fileio=sequential,fileselect=random,threads=2
rd=rd1,fwd=fwd1,fwdrate=100,format=yes,elapsed=10,interval=1
*
* This parameter file will use a directory structure of 4 directories and 8 files
* The RD parameter 'format=yes' causes the directory structure to be completely
* created, including initialization of all files to the requested size of 128k.
* After the format completes the following will happen for 10 seconds at a rate
* of 100 reads per second:
* Start two threads (threads=2; 1 thread is default).
* Each thread:
* Randomly selects a file (fileselect=random)
* Opens this file for read (operation=read)
* Sequentially reads 4k blocks (xfersize=4k) until end of file (size=128k)
* Closes the file and randomly selects another file.
*
*
* Directory structure:
*
* find dir1 | grep file