White Papers
Validating the storage design
11 Dell EMC SC Series: Microsoft SQL Server Best Practices | CML1057
3 Validating the storage design
Once the I/O requirements have been defined, it is easy to determine whether the hardware can provide the
desired performance by running some simple tests. Diskspd is a free Microsoft utility that can simulate I/O
patterns generated by SQL Server. There are several other utilities available as well. When selecting a utility
to simulate I/O, it should meet the following requirements:
• Ability to configure block size
• Ability to specify number of outstanding requests
• Ability to configure test file size
• Ability to configure number of threads
• Support for multiple test files
• Does not write blocks of zeros during tests
3.1 Validating the I/O path
The first thing to test on a new configuration is the path between the server and the array. Running a large
block sequential read test using small files should saturate the path between the server and array. This test
verifies that all paths are fully functional and can be used for I/O traffic. This test should be run on a server
and array that is dedicated to this test. Running it on a live system could cause significant performance
issues.
To validate the I/O path, run a large block sequential read test using the following guidelines:
• If testing a single controller system, create one volume. If using a dual controller system, create two
volumes with a volume owned by each controller.
• Format the volumes using a 64 KB allocation unit.
• Use a block size of 512 KB for the test.
• Configure the test for 32 outstanding I/Os.
• Use multiple threads. Eight is the recommended starting point.
If the displayed throughput matches the expected throughput for the number of HBA ports in the server, the
paths between the server and SC Series array are set up correctly.
3.2 Validating the disks
Once the I/O path has been validated, the next step is to test the disks. For best results when testing disks on
an SC Series array, use the following guidelines when configuring the test.
• In a dual-controller system, use at least one volume per controller. This ensures that I/O will be
distributed across both controllers. Using both controllers more closely simulates real world activity.
For best results, use the same number of volumes on each controller.
• When performing I/O tests on any storage platform, it is important to use files that are larger than the
controller cache. For more accurate results, use a file size that matches the amount of data being
stored. In an environment where that is not practical due to a large data set, use a file size of at least
100 GB.