Brocade Fabric OS Command Reference (Supporting Fabric OS v7.3.0) User Manual
Page 109
Fabric OS Command Reference
79
53-1003131-01
bottleneckMon
2
Enabling or disabling bottleneck detection is a switch-wide operation. If Virtual Fabrics are enabled, the 
configuration is applied per logical switch and affects all ports on the current logical switch. After the 
(logical) switch-wide bottleneck detection parameters have been set, you can you can fine-tune the 
configuration for specific ports.
A bottleneck is defined as a condition where the offered load at a given port exceeds the throughput at 
the port. This command supports detection of two types of bottleneck conditions: congestion and latency.
•
A congestion bottleneck arises from link over-utilization. This happens when the offered load 
exceeds throughput and throughput is at 100%. Frames attempt to egress at a faster rate than the 
line rate allows. Link utilization is measured once every second at the port. When trunked ports are 
monitored, link utilization is measured for the entire trunk. A congestion bottleneck is assumed if the 
utilization during the measured second is 95% or more. 
•
A latency bottleneck occurs when egress throughput at a port is lower than the offered load because 
of latency in the return of credits from the other end of the link. This is not a permanent condition. 
The offered load exceeds throughput and throughput is less than 100%. In this case, the load does 
not exceed the physical capacity of the channel as such, but can occur because of an 
underperforming device connected to the F_Port, or because of back pressure from other 
congestion or latency bottlenecks on the E_Ports. Bottleneck detection can help identify these 
devices and pinpoint the upstream bottlenecks caused by these devices inside the fabric.
When bottleneck detection is enabled on a switch and you specify an alert, the command triggers an 
SNMP and a RASlog alert when the ports on the configured switch experience latency or congestion. 
Another alert is sent after the condition resolves. For a given averaging time, each second is marked as 
affected by latency and/or congestion or not. If the number of affected seconds crosses the configured 
threshold, an alert is triggered for the port. You can configure alerts for latency, for congestion, or both. 
You can also configure a severity threshold for each type of bottleneck and the time interval over which 
the bottlenecks are measured.
For example, setting a latency threshold of 0.8 and a time window of 30 seconds specifies that an alert 
should be sent when 80% of the one-second samples over any period of 30 seconds were affected by 
latency bottleneck conditions. The -qtime option can be used to throttle alerts by specifying the minimum 
number of seconds between consecutive alerts. Thresholds are configured separately for each type of 
bottleneck and statistical data are collected independently for each condition. The -qtime parameter 
applies to both types of bottleneck detection; there can be one latency alert and one congestion alert in a 
configured quiet time.
Bottleneck detection works both in non-Virtual Fabric mode and in Virtual Fabric Mode. If Virtual Fabrics 
are enabled, bottleneck detection is configured per logical switch. If a port is removed from a logical 
switch after bottleneck detection is enabled on the logical switch, the configuration is retained in that 
logical switch. If the port is added again to the same logical switch, bottleneck detection is automatically 
re-enabled for this port using the retained configuration. This feature allows you to configure more than 
one logical switch to perform bottleneck detection on the same port, although only one logical switch 
performs the operation on the port at any given time.
The --show option displays a history of the bottleneck severity for a specified port or for all ports. Each 
line of output shows the percentage of one-second intervals affected by bottleneck conditions during the 
time window shown on that line. When issued for all ports, the union of all port statistics is displayed in 
addition to individual port statistics. The union value provides a good indicator for the overall bottleneck 
severity on the switch. You can filter the output to display only latency or congestion bottleneck statistics. 
When used without port operand the command displays the number of ports affected by bottleneck 
conditions. A "bottlenecked" port in this output is defined as any port that was affected by a bottleneck for 
one second or more in the corresponding interval.
When using the --show command, you may see a "no data for x seconds" or "no data" message 
displayed at the end of a line of output. The "no data..." message in any interval means that there was no 
data to analyze for the stated number of seconds or for the entire interval if the remark is simply "no 
data." This typically means that there was no traffic on the link for the stated number of seconds. The 
percentage of affected seconds displayed takes this into account. For example, if there was no traffic for