How can we help you today?

Testing disk performance with diskspd

You are here:
< Back

Diskspd is an effective tool to test disk performance.

It can be used prior to MyWorkDrive implementation to determine if your server/environment are adeuqate (see our Server Sizing Guide for details) or post install when troubleshooting issues with directory browsing being slow or file transfer being slow.

Note that Disk Performance is the least likely cause of reported “slowness” and we have a complete guide to performance testing you should use to root out other issues prior to testing disk performance.

When testing you should test the MyWorkDrive server local disks as a benchmark and also to ensure there are no issues with the disks selected for the MyWorkDrive Server – in addition to the shares used with MyWorkdrive.

Download the Diskspd utility from
https://github.com/microsoft/diskspd/releases/latest

Download the DiskSpd.zip file and extract it to a path you can easily reach from a command prompt
ie c:\diskspd

Open up a command window and browse to the folder you extracted Diskspd to
Then browse into the AMD64 folder

Here you have the diskspd exe

Please run this test, substituing the drive letter and path at the end for the drive letter you want to test, and the path for a location which is writable by your user.

In this example we are testing the c: drive and using the diskspd folder we just created as our test folder

diskspd.exe -c10M -d30 -r -w40 -t4 -o32 -b4k -Sh -L c:\diskspd\testfile.dat

The arguments in the test mean
-c sample file size we are testing
-d seconds of test to conduct
-r random I/O
-w percent of threads which are write
-t number of threads used
-o number of I/O requests per targetr
-b Block size of file write
-Sh Disables software caching, allows writethrough (disables hardware write caching)
-L Measure Latency

Please do not alter these parameters when testing, we have benchmarks using this test set we compare to.

If we ask for the results, or you intend to send them to us for review, please share complete results with us. You can copy/paste the results from display, or you may find it easier to pipe the results to a txt file, ie

diskspd.exe -c10M -d30 -r -w40 -t4 -o32 -b4k -Sh -L c:\diskspd\testfile.dat >c:\localtest.txt

Just be sure to rename the output file at the end of the command to avoid overwriting your results.

To test an SMB share, you have to do it as a drive mapped to the server via a mounted share in Windows (not MyWorkDrive), and you must have write permissions to a folder on the drive.
You can’t pass a unc path to diskspd; you’d have to map a drive to it.

Substitute a mapped drive letter and location at the end of the arguments.

In this case I have mapped H: and am using the folder temp

diskspd.exe -c10M -d5 -r -w40 -t4 -o32 -b4k -Sh -L h:\temp\testfile.dat

The test should be slower. You can use them to compare different shares and also the MyWorkDrive server itself to gauge user experience.

Note that if you receive an error like

The test was interrupted before the measurements began. No results are displayed.
Error generating I/O requests

or

WARNING: Could not create intermediate directory (error code: 3)
Could not create the file (error code: 3)

That is an indicator you do not have permission to write to the share, please double check that the user you are running under can write to the share. Sometimes the test is best performed in a command window without elevated privlidges (ie, your logged in user privlidges) when testing mounted shares.

Some Benchmarks

These tests are from a QA lab, not optimized for production workloads. These would be considered minimum acceptable and would serve up to 100 concurrent users.

Local MyWorkDrive server share on SSD disks
(IE c:\share on the myworkdrive server)

Read
I/Os 48707
MiB/s 37.965
I/O per s 9718.94
AvgLat 1.781

Write
I/Os 32546
MiB/s 25.37
I/O per s 6494.35
AvgLat 1.804

Local SMB Share on Windows File Server, tested from the MyWorkDrive server with a share mapped to a drive letter. File Server disks are also SSD

Read
I/Os 16887
MiB/s 13.17
I/O per s 3063.17
AvgLat 5.34

Write
I/Os 11625
MiB/s 9.20
I/O per 2451.54
AvgLat 5.44

Remote SMB Share connected via VPN
(this configuration is strongly not recommended, shares should always be located in the same location as the MyWorkDrive, shown only for comparison)

Read
I/Os 672
MiB/s .52
I/O per s 133.99
AvgLat 140.292

Write
I/Os 446
MiB/s .35
I/O per 88.93
AvgLat 149.727

Notice how slow this connection is. Users attaching to this share will experience long waits to browse directories and interact with files. Remotely hosted shares are strongly not recommended for use with MyWorkDrive.

Bear in mind Disk Performance is just one facet to the full solution. Others including Server Memory, Server CPU capacity, Internet connections for the Server and clients, File sizes, security products – all come into play when it comes to total system performance. See our Performance Testing Guide for complete considerations and tests.