Microsoft plans to release Windows Server 2025 sometime in late 2024. Along with the release of the next version of its server-based operating system, Microsoft is also launching a new version of its Diskspd storage measurement and performance tool that should offer system admins a better way to check the performance of Windows Server 2025.
In a blog post, Microsoft stated the reason why it was making changes to Diskspd:
Diskspd is being updated to handle modern workloads and hardware like NVMe. Our storage stack in Windows Server 2025 was also updated to leverage advances in NVMe storage. During our testing of these capabilities, we improved our methods of latency measurement and found that we were now hitting the disk device limits when using Windows Server 2025!
One of the two new improvements is called Batched Completions. Microsoft stated that in the past, Diskspd would get the requested number of I/Os, but then it would get and record one I/O at a time, then it would reissue that I/O before moving onto the next one. Microsoft stated this is like going to the mailbox, getting one piece of mail from the box, and then going back to your house before you head to the mailbox again to get another piece of mail.
Of course, most people just get all their mail from their mailboxes in one trip, and now with Batched Completions, Diskspd will get all the completed I/Os and record all of them as they complete. Microsoft says:
This reflects the actual time that I/Os completed and prevents Diskspd from inflating the storage latency.
The other big improvement is called Look-a-sides. Microsoft shows how Diskspd handled a certain measurement scenario in the past:
To understand the challenge, imagine there are 16 I/Os issued (T0) and 2 of those I/Os complete shortly after. Next, Diskspd receives I/O 1 and 2 (T1 using batched completions). While Diskspd is receiving the first set of completed I/Os, more I/Os (3 and 4) complete.But Diskspd doesn’t record I/Os 3 and 4 as having completed yet. Instead, it continues its goal of reissuing I/Os 1 and 2. This delay in receiving and recording completed I/Os inflates the latency time measured by Diskspd unnecessarily. The more I/Os kept in-flight (the larger value for -o parameter) the more prominent this issue will become.
Look-a-sides will try to get rid of the delays in getting and recording completed I/Os:
Now, with look-a-sides, Diskspd will receive I/Os 1 and 2 (T1) and begin to reissue IO 1 (T2). At the earliest possible opportunity, Diskspd will look at the completion queue to see if there are more I/Os that it can receive, and record as completed (T3).
System admins can download the new version of Diskspd now, along with the preview version of Windows Server 2025.