DiskSpd: Benchmarking Your Server Environment
If your application or database servers have specific input/output (I/O) requirements, it's best to benchmark your new environment to make sure that the new servers will be able to handle the read/write operations. Recently, a new tool has been released called DiskSpd and it is available on the Microsoft TechNet site.
You can simply download the tool and execute it on the machine that you would like to benchmark.
Here are the command line arguments that I used during my testing:
diskspd.exe -b4K -t4 -r -w50 -o32 -d10 -c8192k testfile.dat
The first argument, -b4k, represents the block size for reading and writing to the partition. Most disk volumes are formatted in 4k blocks, larger database servers typically use 64k blocks.
The second argument, -t4, represents the number of threads. In my test, I set the number of threads equal to the number of cpu cores I had available.
The third argument, -r, refers to the sequential blocks of data that are read from the drive.
The fourth argument, -w50, tells the tool to perform write operations 50 percent of the time.
The fifth argument, -o32, represents the number of requests per thread.
The sixth argument, -d10, represents the duration of the test in seconds.
The last argument, -c8192 testfile.dat, creates a file named testfile.dat that is 8192 kilobytes in size so the tools have data to use to read and write from.
Benchmarking your infrastructure for applications that have specific requirements is now easier than ever with all of the free tools available. Taking the time to test and plan leads to better outcomes before going live with a production environment.