The performance of Virtual Desktop Infrastructure (VDI) environments heavily relies on the efficiency of their storage systems.
Storage benchmarking in VDI environments is crucial for identifying potential bottlenecks, optimizing resource allocation,
and ensuring a seamless user experience. This article delves into the importance of storage benchmarking, the methodologies employed,
and the key metrics to consider for achieving optimal performance in VDI setups.
A very popular benchmarking tool is Iometer which can be used for I/O subsystem measurement and characterization in single and clustered systems.
It is both a workload generator ("Dynamo") and a measurement tool that can be configured to emulate the disk or network I/O load of any program.
But in many cases, Iometer is a little bit outdated and simply not suited for VDI environments. Therefore, an alternative is required.
The EUC Score Toolset includes three special score workloads that were designed to measure the user profile
performance of the storage subsystem. Check out the full list of EUC Score simulated workloads (called "Simloads") here.
What are the use cases of the EUC Score storage testing workloads? Comparing storage performance between physical Windows PCs versus VDI, quantifying the difference
between HDD, SSD and premium SSD storage in cloud VMs, comparing user profile performance in Windows 365 Cloud PCs versus FSLogix-enabled Azure Virtual Desktop VMs,
evaluating third-party storage solutions hosted in the cloud, or comparing VMs on Azure Local with VMs on Azure Cloud. And I'm sure that this list only
scratches the surface.
The good news for you is that you can download the EUC Score Freeware Edition
which includes the three storage workloads.
- SL3-IOPS:
Storage read/write performance test. Measures the time to read five EUC Score data files from EUCScore\Data and write them 25 times each to four different user profile folders.
The source files are Documents\LoremIpsum_full.txt (2.13KB), Documents\Lordoftherings.txt (961KB), Documents\Graphics-Formats2.docx (1.74MB), Images\Turtle.jpg (334KB), and Videos\SL_FishGL_GIF.gif (11.4MB).
The target locations for the files are separate subfolders across four different user profile folders:
UserProfile root, UserProfile\AppData\Roaming, UserProfile\AppData\Local, and UserProfile\AppData\Local\Temp.
The test measures the time to copy the five files into the four different folders, where each of the 25 write activities is saved in a separate subdirectory (IOPS\n, with n = 1 to 25).
This makes sure that delayed (cached) writes do not influence the test results. The smaller the measured time, the better the result.
- SL3-UserProfileLarge:
Storage write performance test. Creates an array in memory with 50 random strings, each containing 600 characters.
Randomly reads strings from the array and creates 20 files with 15000 lines each and with individual file names.
The test measures the time to store the 20 files in separate subfolders across four user profile folders:
UserProfile root, UserProfile\AppData\Roaming, UserProfile\AppData\Local, and UserProfile\AppData\Local\Temp.
The randomization of the file contents ensures that cached writes are eliminated and do not influence the test results.
The smaller the measured time, the better the result.
- SL3-UserProfileSmall:
Storage write performance test. Creates an array in memory with 50 random strings, each containing 60 characters.
Randomly reads strings from the array and creates 100 files with 2500 lines each and with individual file names.
The test measures the time to store the 100 files in separate subfolders across four user profile folders:
UserProfile root, UserProfile\AppData\Roaming, UserProfile\AppData\Local, and UserProfile\AppData\Local\Temp.
The randomization of the file contents ensures that cached writes do not influence the test results.
The smaller the measured time, the better the result.
If you want to see a storage test workload in action, check out
FSLogix Profiles on Azure Files versus Azure NetApp Files.
An even better and more up-to-date example is
Azure Local Performance Testing (Storage), a test conducted by Alyn Peden from Auxilium IT Consultancy.