An even better version can be found at https://technet.microsoft.com/en-
us/library/mt126108.aspx, which shows the output in a table format. Note that all of
the following output should be on a single line:
Get-StorageQosFlow | Sort-Object StorageNodeIOPs -Descending | ft
InitiatorName, @{Expression=
{$.InitiatorNodeName.Substring(0,$.InitiatorNodeName.IndexOf('.'))};Label="InitiatorNodeName"},
StorageNodeIOPs, Status, @{Expression=
{$.FilePath.Substring($.FilePath.LastIndexOf('\')+1)};Label ="File"} -
AutoSize
The data shown in Get-StorageQoSFlow is sampled as an average over the past 5
minutes. Although the minimum IOPS is a guarantee, meeting that value might not
always be possible. If I set minimum IOPS values that are high to many VHDs, those
values may exceed the capability of the underlying storage. In those cases, the
configuration will be flagged as Insufficient Throughput through the monitoring. To
view only flows with insufficient throughput, use this:
Get-StorageQoSFlow -Status InsufficientThroughput | fl
With the adoption of SMB 3, another type of storage QoS is applicable not only for file
traffic (default), but also for hosting virtual machines and even for Live Migration.
The existing QoS technologies that could control SMB allocation were not granular
enough to enable different bandwidth limits for the various types of SMB traffic.
Windows Server 2012 R2 added this new granularity for SMB bandwidth
management: Default, LiveMigration, and VirtualMachine. This allows an amount of
bandwidth to be specified for each type of SMB traffic. In most environments, this
should not be required, because SMB does a good job of fair-sharing the network, but
if you need to better tune the bandwidth allocation, this SMB bandwidth management
will be useful.
To configure the SMB bandwidth management, perform the following steps:
1 . Install the SMB Bandwidth Limit feature. This can be done through Server
Manager (note that it is a feature and not a role) or using PowerShell:
Install-WindowsFeature FS_SMBBW
2 . Configure the limits for each type of traffic by using the Set-SMBBandwidthLimit
PowerShell cmdlet, as in this example:
Set-SMBBandwidthLimit -Category LiveMigration - BytesPerSecond 2GB
3 . To view the configured SMB QoS, use the Get-SMBBandwidthLimit cmdlet. Use the
Remove-SMBBandwidthLimit cmdlet to remove it.