Get-StorageQoSFlow

Retrieves performance metrics on an I/O flow that is monitored by Storage QoS.

Syntax

Get-StorageQoSFlow
   [[-FlowId] <Guid>]
   [[-InitiatorId] <String>]
   [[-FilePath] <String>]
   [[-VolumeId] <String>]
   [[-InitiatorName] <String>]
   [[-InitiatorNodeName] <String>]
   [[-StorageNodeName] <String>]
   [[-Status] <Status>]
   [-IncludeHidden]
   [-AsJob]
   [-CimSession <CimSession>]
   [-ThrottleLimit <Int32>]
   [<CommonParameters>]
Get-StorageQoSFlow
   [-Policy] <CimInstance>
   [-AsJob]
   [-CimSession <CimSession>]
   [-ThrottleLimit <Int32>]
   [<CommonParameters>]

Description

The Get-StorageQoSFlow cmdlet retrieves performance metrics on an I/O flow that is monitored by Storage Quality of Service (Storage QoS). The metrics are throughput and latency averages, computed over a 5-minute rolling time interval.

Each file handle opened by a server that runs Hyper-V to a VHD or VHDX file is considered a flow. If a virtual machine has two virtual hard disks attached, it will have 1 flow to the file server cluster per file. If a VHDX is shared with multiple virtual machines, it will have 1 flow per virtual machine.

For more information about Storage QoS, see Storage Quality of Service in Windows Server Technical Previewhttps://technet.microsoft.com/en-us/library/Mt126108 (https://technet.microsoft.com/en-us/library/Mt126108).

Examples

Example 1: Get information on an I/O flow

PS C:\>
Get-StorageQoSFlow -FilePath "C:\ClusterStorage\Volume01\TEST"

InitiatorName FilePath                       InitiatorIOPS InitiatorLatency InitiatorBandwidth PSComputerName

------------- --------                       ------------- ---------------- ------------------ --------------
                                                                       
storqosclient C:\ClusterStorage\Volume01\TEST 104           8.0921 ms        0.2 MB/s

storqosclient C:\ClusterStorage\Volume01\TEST 31            8.9741 ms        0.5 MB/s

This command gets information about all flow initiators accessing C:\ClusterStorage\Volume01\TEST.

Parameters

-AsJob

Runs the cmdlet as a background job. Use this parameter to run commands that take a long time to complete.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CimSession

Runs the cmdlet in a remote session or on a remote computer. Enter a computer name or a session object, such as the output of a New-CimSession or Get-CimSession cmdlet. The default is the current session on the local computer.

Type:CimSession
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-FilePath

Specifies the path of the file that a flow accesses.

Type:String
Position:2
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-FlowId

Specifies the GUID that identifies the flow. This identifier is not unique across flow objects, because the same logical flow may be split across several volumes or storage nodes.

Type:Guid
Position:0
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-IncludeHidden

Indicates that this cmdlet includes the default flow, which groups together all flows not governed by a policy.

Type:SwitchParameter
Position:8
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InitiatorId

Identifies the virtual machine that is the initiator of the flow.

Type:String
Position:1
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InitiatorName

Specifies the friendly name of the initiator.

Type:String
Position:4
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InitiatorNodeName

Specifies the hostname of the node initiating the flow.

Type:String
Position:5
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Policy

Specifies a policy for which to get associated flows.

Type:CimInstance
Position:9
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Status

Specifies the status of the flow.

  • Ok indicates that the flow meets the minimum Input/Output Operations Per Second (IOPS).
  • InsufficientThroughput indicates that the IOPS are below the minimum.
Type:Status
Accepted values:Ok, InsufficientThroughput, UnknownPolicyId, LostCommunication
Position:7
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-StorageNodeName

Specifies the hostname of the storage node servicing the flow.

Type:String
Position:6
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ThrottleLimit

Specifies the maximum number of concurrent operations that can be established to run the cmdlet. If this parameter is omitted or a value of 0 is entered, then Windows PowerShell® calculates an optimum throttle limit for the cmdlet based on the number of CIM cmdlets that are running on the computer. The throttle limit applies only to the current cmdlet, not to the session or to the computer.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-VolumeId

Specifies the ID of a volume that the flow accesses.

Type:String
Position:3
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Inputs

CimInstance

Outputs

Object