*** Disclaimer ***
s2d.dk is not responsible for any errors, or for the results obtained from the use of this information on s2d.dk. All information in this site is provided as "draft notes" and "as is", with no guarantee of completeness, accuracy, timeliness or of the results obtained from the use of this information. Always test in a lab setup, before use any of the information in production environment.
For any reference links to other websites we encourages you to read the privacy statements of the third-party websites.
The names of actual companies and products mentioned herein may be the trademarks of their respective owners.
***
Azure Stack HCI / Storage Spaces Direct (S2D) and Performance test with DiskSpd Shows how to copy and run DiskSpd in all VMs at the same time... Easy way to test your Storage Performance for Microsoft Storage Spaces Direct (S2D) Cluster
Links for download DiskSpd, VMFleet and Command help on GitHub
You can use watch-cluster.ps1 from VMFleet to see the IOPS from the VMs impact...
watch-cluster
Copy the Scripts
from the link below and save as watch-cluster.ps1 in
"C:\Temp\watch-cluster.ps1"Then run is with the option "-sets *"
.\watch-cluster.ps1 -sets *
Link:
https://github.com/Microsoft/diskspd/blob/master/Frameworks/VMFleet/watch-cluster.ps1Script:
*** Note: Before you run the test with DiskSpd set the CSV cache to 0. DiskSpd create synthetic workloads on Windows Server 2019 Clusters or later (including Storage Spaces Direct S2D). The Read only cache causes performance slowness with synthetic workloads, however with real workloads it increases performance.
# ****************************************************************************************************
# Copy the files to the VMs
# ****************************************************************************************************
$clusterName = "S2D10"
$Servers=(Get-ClusterNode -Cluster $ClusterName).Name
$VMs=(Get-VM -ComputerName $Servers).Name
$VMs
$source = "\\TFTP01\data\CopyFileToVMs\*.*"
$destination = "C$\Temp\"
foreach ($computer in $VMs) {
if ((Test-Path -Path \\$computer\$destination)) {
Copy-Item $source -Destination \\$computer\$destination -Recurse
} else {
"\\$computer\$destination is not reachable or does not exist"
}
}
# ****************************************************************************************************
# Run DiskSpd.exe in all VMs for 120s
# ****************************************************************************************************
Invoke-Command -ComputerName $VMs -AsJob -ScriptBlock {c:\temp\diskspd.exe -d120 -r -w0 -t4 -o8 -b8k -Su -L -c10G c:\temp\io.dat > c:\temp\ResultsDiskSpd-Sb.txt}
# ****************************************************************************************************