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 |