First, installation
1, install Vdbench, first install java:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
Next download the Vdbench installation package and install it: Http://pan.baidu.com/s/1b7XooY;
#mv vdbench50406/var/www/html/-D vdbench504
Before starting the benchmark, use the default parameters to check if the installation completed successfully:
#./vdbench-t
[root@lrrvd vdbench504]# ./vdbench -t
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Vdbench distribution: vdbench50406 Wed July 20 15:49:52 MDT 2016
For documentation, see ‘vdbench.pdf‘.
16:47:50.883 input argument scanned: ‘-f/tmp/parmfile‘
16:47:50.939 Starting slave: /var/www/html/vdbench504/vdbench SlaveJvm -m localhost -n localhost-10-171116-16.47.50.757 -l localhost-0 -p 5570
16:48:01.006 Waiting for slave connection: localhost-0
16:48:01.508 All slaves are now connected
16:48:03.002 Starting RD=rd1; I/O rate: 100; elapsed=5; For loops: None
Nov 16, 2017 interval i/o MB/sec bytes read resp read write resp resp queue cpu% cpu%
rate 1024**2 i/o pct time resp resp max stddev depth sys+u sys
16:48:04.051 1 86.00 0.08 1024 54.65 0.012 0.009 0.015 0.064 0.010 0.0 12.6 2.1
16:48:05.047 2 93.00 0.09 1024 50.54 0.016 0.012 0.020 0.064 0.012 0.0 5.1 1.0
16:48:06.047 3 94.00 0.09 1024 50.00 0.010 0.007 0.013 0.043 0.006 0.0 2.0 0.0
16:48:07.046 4 88.00 0.09 1024 50.00 0.012 0.008 0.017 0.043 0.009 0.0 2.5 0.5
16:48:08.051 5 99.00 0.10 1024 57.58 0.009 0.007 0.013 0.026 0.005 0.0 2.0 0.5
16:48:08.076 avg_2-5 92.00 0.09 1024 52.61 0.012 0.008 0.016 0.064 0.009 0.0 6.6 1.1
16:48:08.749 Vdbench execution completed successfully. Output directory: /var/www/html/vdbench504/output
So far, the installation is complete.
Describe the parameter meaning: for a virtual block device, configure the following parameters
HD: Host Definition
If you want to show the current host, set hd= localhost. If you want to specify a remote host, hd= label.
system= IP address or network name
Clients= the number of running clients that are used to impersonate the server.
SD: Storage definition
Sd= the name of the identity store.
The ID of the host where the host= storage resides.
Lun= the name of the original disk, tape, or file system. Vdbench can also create a disk for you.
Threads= the maximum number of concurrent I/O requests to the SD. The default is 8.
Hitarea= adjusts the size of the read hit percentage. Default is 1m
Openflags= used to open a LUN or a file flag_list
WD: Workload Definition
Wd= identifies the name of the workload
Sd= the ID of the storage definition to use
Host= the ID of the host to run this workload. Default setting is localhost
The percentage of the total number of requests rdpct= read requests.
rhpct= read hit percentage. The default setting is 0.
whpct= write hit percentage. The default setting is 0.
Xfersize= the size of the data to be transferred. The default setting is 4k.
seekpct= the percentage of random seek. Can be a random value
Openflags= used to open a LUN or a file flag_list
iorate= fixed I/O rate for this workload
RD: Run definition
The name of the rd= identity run.
Wd= the ID of the workload used for this run.
Iorate= (#,#,...) One or more I/O rates
Curve: Performance curve (undefined).
Max: A workload that is not under control.
Elapsed= Time: The duration of the run in seconds. The default setting is 30.
warmup= time: The heating period will eventually be ignored
distribution= distribution of I/O requests: exponential, uniform, or deterministic.
Pause= the time, in seconds, to hibernate before the next run.
Openflags= the flag_list used to open a LUN or a file.
For a file system, configure the following parameters:
HD: Host definition. Same as virtual block device
FSD: File System definition
Fsd= identifies the name of the file system definition
Anchor= directory in which the directory structure will be created
Width= the number of directories to create under the locator
Depth= the number of levels to create under the locator
files= the number of files to create at the lowest level
sizes= (size,size,...) The file size that will be created
Distribution= Bottom (if you want to create files at the lowest level only) and all (if you want to create files in all directories)
Openflags= for opening a file system (Solaris) flag_list
FWD: File system workload definition
Fwd= name that identifies the file system workload definition
Fsd= the ID of the file system definition to use
Host= the ID of the host to be used for this workload.
fileio= random or sequential that represents how file I/O will be executed.
fileselect= random or sequential that identifies how the file or directory is selected.
xfersizes= data Transfer (read and write operations).
operation= mkdir, rmdir, create, delete, open, close, read, write, GetAttr, and SetAttr. Select the individual file action to perform.
Rdpct= (only) The percentage of read and write operations.
threads= the number of concurrent threads for this workload. Each thread requires at least 1 files.
RD: Run definition
Fwd= the ID of the file system workload definition to use.
fwdrate= the number of file system operations performed per second.
Format= yes/no/only/restart/clean/directories. The action to take before the start of the run.
The operations= covers the FWD operation. option is the same.
1) test the performance of the block device (random write)
Edit Test Script file Test1 (test native piece of disk)
hd=default,vdbench=/var/www/html/vdbench504,user=root,shell=ssh
sd=sd1,lun=/dev/vdc,openflags=o_direct,threads=1
wd=wd1,sd=sd1,xfersize=16k,readpct=0,seekpct=100
rd=rd1,wd=wd1,iorate=max,elapsed=120,maxdata=5500g,interval=1,warmup=30
Test native two disk (and so on)
hd=default,vdbench=/var/www/html/vdbench504,user=root,shell=ssh
sd=sd1,lun=/dev/vdc,openflags=o_direct,threads=1
sd=sd2,lun=/dev/vdb,openflags=o_direct,threads=1
wd=wd1,sd=sd*,xfersize=16k,readpct=0,seekpct=100
rd=rd1,wd=wd1,iorate=max,elapsed=120,maxdata=5500g,interval=1,warmup=30
2, the installation of FIO
Download the installation software directly, copy it to the virtual machine, and test it by writing your own script or executing commands.
Second, the difference between the two and the common place
1, vdbench in the threads equivalent to FIO threads and depth
2, the Vdbench test results in the I/O equivalent to Fio iops;vdbench in the mb/sec equivalent to FIO bw bandwidth; vdbench rest time is equivalent to FIO latency
3, Vdbench test is the overall performance of the entire cluster or the entire virtual machine or all disks, and FIO need to write a script to test multiple disks or multiple virtual machines
Vdbench and FIO Test Disk performance Comparison summary