Vdbench a powerful benchmarking tool

  • Post author:
  • Post category:General
You are currently viewing Vdbench a powerful benchmarking tool

Vdbench, is counted as one of the most powerful benchmarking tools and can also be used as a GUI tool or a CLI tool. It can work on different platforms like Windows, Solaris, and Linux. It is a controlled I/O load monitoring tool for storage systems and gains control over workload parameters like I/O rate, LUN or file size, transfer size and cache hit percentage. Also it can generate reports which are browser visible in HTML format.

Being an open source tool from Oracle, with 99 per cent of it is written in Java and one percent in C language, it works on all Linux and Windows operating systems and is designed to execute workloads on a storage system.

In an equation, it is explained as f (workload, Config) = Power + Performance. The performance of a storage array can be measured with a set of workloads defined through a configuration file. It runs as two or more Java virtual machines and the one we invoke is the master, which takes care of parsing and reporting. The actual workload is executed by one or more slaves. The slave can run along with the master or on a different host. Vdbench can identify data corruption of the storage system. A combination of data validation and journaling allows us to identify data corruption issues across executions. To be precise, Vdbench is an open source, enterprise-grade storage benchmark that comes free.

Installation part is as follows:

Set the directory

cd /root

mkdir vdbench

cd vdbench

Download Vdbench

Wget     http://sourceforge.net/projects/vdbench/files/vdbench502.tar/download

Extract the TAR file

tar xvf vdbench502.tar

Create Paramater file

vim <your_param_filename>

Sample Parameters

sd=sd1,lun=/tmp/200MB_file.bin,size=200MB

wd=wd1,sd=sd1,xf=4k,seekpct=100,readpct=80

rd=rd1,wd=wd1,iorate=5000,elapsed=30,interval=1,forthreads=4

The Parameter file is made up of 3 sections

Storage Definition – Identifies each physical or logical volume or file system file to be used

Workload Definition – Defines what kind of workload will be executed using the storage definitions listed above

Run Definition – Defines what I/O rate to be generated, and how long the workload will run. In the above example, we will be writing a 200MB file to the /tmp directory. It will use a four kilobyte data transfer size with 80% read and 20% write off, which will be 100% random reads. It will run for 30 seconds with an average I/O rate of 5000 iops. The interval will update every second.

If you want to see how many IOPS you can get with the set parameters, you can set iorate=max instead of a number.

Test the param file

/root/vdbench/vdbench -f /root/vdbench/params/<your_param_filename>

Turn off unwanted services

chkconfig sendmail off

chkconfig yum-updatesd off

chkconfig bluetooth off

chkconfig iptables off

chkconfig ip6tables off

chkconfig snmpd off

chkconfig smartd off

chkconfig firstboot off

chkconfig iscsi off

chkconfig iscsid off

chkconfig ntpd off

Set SELinux to disabled

vim /etc/selinux/config

Set

SELINUX=disabled

Create StartUp Script

cd /etc/init.d

vim <startup_script_name>

Set Script Attributes

chmod +x <startup_script_name>

Start Script for Starting vdbench

#!/bin/bash

/root/vdbench/vdbench -l -f /root/vdbench/params/<params_filename> >/dev/null &

Create Link for the Script to start on Boot in init 3

cd /etc/rc3.d

ln -s ../init.d/<statup_script_name> S99<YourscriptLabel>

That will be enough to get the server rebooted.

Leave a Reply