IOPS test for UVB using Flexible IO tester

ISSUE

Use this KB to determine what the IOPS of the UVB VBA for its local disk (8GB) and the storage pool (for Engines)

 

RESOLUTION

This process will create a 256MB file at your root location, which you must delete after the test has completed.

In the results, look for something similar to this:
         read : io=191892KB, bw=26512.0KB/s, iops=6627 , runt=  7238msec
         write: io= 64108KB, bw= 8857.2KB/s, iops=2214 , runt=  7238msec
 
The value for iops= is we are looking for. If your IOPS are 500 or less for write, you will want to eliminating deduplication (by using Full/Incrementals only) and/or reduce the concurrent threads. (to adjust threads see KB 1488 - https://unitrends-support.zendesk.com/hc/en-us/articles/360013262318)

NOTE: The example above was a VMware Unitrends Backup version 9 running on a 6 drive RAID 6 7200RPM system direct attached storage through a dedicated array controller with services stopped.
 
Some commonly accepted averages for random IO operations, calculated as 1/(seek + latency) = IOPS:

User-added image

TASKS

Connect to the UVB VBA using the console or preferably, using PuTTY (or similar SSH terminal client).Once connected, switch to the bash shell by executing the following command: bash

Download the Flexible IO tester. Execute this command:
sudo apt-get install fio
 
Once it has been downloaded, you will execute a command to run the test, using a 256MB file called test.
 

Testing the Local 8GB disks

To test the storage used for the local 8GB execute this command:
 
fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --filename=test --bs=4k --iodepth=64 --size=256M --readwrite=randrw --rwmixread=75
 

Testing the storage pool of the Engine

To test the storage pool used as the engine, you will need to find the path to the storage, and change the current directory to it. To find the path, execute the command: df -f
[email protected]:~# df -h
Filesystem                             Size  Used Avail Use% Mounted on
/dev/sda2                           6.0G   1.9G    3.8G   33%  /
udev                                493M   4.0K    493M    1%  /dev
tmpfs                               100M   684K     99M    1%  /run
none                                5.0M    44K    5.0M    1%  /run/lock
none                                498M      0    498M    0%  /run/shm
/dev/sdb1                           7.9G   170M    7.4G    3%  /var/lib/phdvb
/dev/mapper/9aacce2f--bds   197G   41G  147G  22% /mnt/bds/bfe5c2c5-f2e5-476e-866a-557e0be5d12d

Once you locate the path, use the cd command to change to its directory. Given the example above, we execute this command: cd /mnt/bds/bfe5c2c5-f2e5-476e-866a-557e0be5d12d

To test the storage pool by executing this command:
fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --filename=test --bs=4k --iodepth=64 --size=256M --readwrite=randrw --rwmixread=75

In the results, look for something similar to this:
         read : io=191892KB, bw=26512.0KB/s, iops=6627 , runt=  7238msec
         write: io= 64108KB, bw= 8857.2KB/s, iops=2214 , runt=  7238msec

Proceed to the Resolution section for further instructions.

 

CIFS ONLY!

When performing this test on CIFS you need to change the direct=1 to direct=0
fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --filename=test --bs=4k --iodepth=64 --size=256M --readwrite=randrw --rwmixread=75

NOTES

Mechanical Hard Drive chart courtesy of Wikipedia,

Was this article helpful?
0 out of 0 found this helpful
Have more questions? Contact us