As a follow up post to GEM Automation Feature – Run-DiskSpd, I will now be covering another storage test function, Test-VirtualDiskPerformance from InfrastructureTesting\libStorageSpacesTesting.psm1.

The main goal of this function is to facilitate testing of Storage Spaces for baselining and new hardware qualification by automatically generate Storage Spaces virtual disk variations on which multiple IO tests will be performed.

Here’s an overview of the function’s capabilities:

Creates test virtual disks in a specific storage pool by varying the following settings Storage Spaces Number of columns used Interleave size Resiliency type File system File system type (currently NTFS and ReFS) Allocation unit sizes

Determine the number of disks in the pool to adjust the number of column variations for the test virtual disk

Determine the disk types present in the pool to test them separately

Run-DiskSpd is then used to run a variety of IO test cases based on their definition in DiskSpd_TestCases.config

Results are persisted to diskspd_output.csv

Here’s an example of how you would call Test-VirtualDiskPerformance:

Test-VirtualDiskPerformance -storagePoolFriendlyName "Storage Pool" -ioTestCaseName SQLServerVM -ioTestDuration 5 -virtualDiskSizeInGB 5

Here’s what you see while running the tests (you will also see the status for the Run-DiskSpd tests as well):

Once the tests have completed, you can analyze the results using the same Excel spreadsheet as for the Run-DiskSpd analysis, Storage Testing Analysis.xlsx. Again, should you have any questions or comments regarding this, feel free to let me know via the comments!