This HOW-TO contains information on how to use Microsoft© DiskSpd to simulate Veeam Backup & Replication disk actions to measure disk performance.
The test file created by DiskSpd does not contain any diagnostic information and must be removed manually after testing has concluded. All diagnostic information regarding the performance test is displayed in the command line.
Active full or forward incremental
C:\diskspd> diskspd.exe -c25G -b512K -w100 -Sh -d600 D:\testfile.dat
-w100 indicates 100% writes and 0% reads. Sequential I/O is used by default.
Reverse incremental
C:\diskspd> diskspd.exe -c100G -b512K -w67 -r4K -Sh -d600 D:\testfile.dat
-w67 indicates 67% writes and 33% reads to simulate 2 write and 1 read operations that happen in reverse incremental backup jobs.
-r4K enables random I/O that are 4KB aligned, for a more realistic simulation.
After the test has finished, take Total IO MB/s from the results and divide it by 3. This is because for every processed block Veeam needs to do 3 I/O operations, thus the effective speed is 3 times slower.
Transforms, merges, and other synthetic operations
Includes transformation of incrementals to rollbacks, merge operations in forever forward incremental backups and backup copy jobs, and creation of synthetic full backup files and GFS points.
C:\diskspd\x86fre> diskspd.exe -c100G -b512K -w50 -r4K -Sh -d600 D:\testfile.dat
-w50 indicates 50% writes and 50% reads to simulate reading data from one file and writing that data into another (or in the case of transform, reading the same number of blocks from two files as are written to two other files).
-r4K enables random I/O that are 4KB aligned, for a more realistic simulation.
After the test has finished, take Total IO MB/s from the results and divide it by 2 (4 for transform to rollbacks). This is because for every processed block Veeam needs to do 2 I/O operations, thus the effective speed is 2 times slower. For transform to rollbacks, each block must be read out of the full backup file and written into the rollback before the corresponding block can be read out of the incremental and written into the full, which results in 4x I/O.
To estimate an expected time to complete the synthetic operation, in seconds:
For synthetic full backup and GFS points: divide the expected size of the new full backup file (typically the same as previous full backup files) by the effective speed.
For all other synthetic operations, add the sizes of all of the incremental files which will be merged or transformed, and then divide the resulting sum by the effective speed. Typically only the oldest incremental file is merged, whereas all incremental files are transformed to rollbacks.
Slow restore or Surebackup
This is typically when you're restoring from deduplication appliances with sub-optimal settings. As a workaround in case of slow restore, manually copy the backup files elsewhere (e.g. Veeam server), import and restore from there.
Worst case scenario where the backup file is heavily fragmented inside, which implies a lot of random read I/O:
C:\diskspd\x86fre> diskspd.exe -b512K -r4K -Sh -d600 \\nas\share\VeeamBackups\Job\Job2014-01-23T012345.vbk
-r4K enables random I/O that are 4KB aligned, for a more realistic simulation.
Best case scenario where the backup file is not fragmented inside (no parallel processing), which implies linear read I/O:
C:\diskspd\x86fre> diskspd.exe -b512K -Sh -d600 \\nas\share\VeeamBackups\Job\Job2014-01-23T012345.vbk
In both cases you need to pick an existing .vbk file as the target. Only read operations will be performed.
Direct disk access speed
C:\diskspd\x86fre> diskspd.exe -Sh -d600 #X
Where X is the number of disk that you see in Disk Management.
This test will not overwrite any data, it is a safe test, and it works for Offline disks too. You can simulate and measure maximum possible reading speed in SAN or hot-add modes, however this of course will not take any VDDK overhead into account.