Guidelines for Managing Queue Thresholds

To prevent the router from setting queue thresholds too low or too high, you can specify minimum and maximum queue thresholds. You can also specify the conformed length and exceeded length as percentages of the committed length.

Guidelines for Configuring a Maximum Threshold

We recommend that you constrain queue thresholds using committed or conformed threshold settings; any unused memory is redistributed to queues whose thresholds are not constrained. This use of thresholds is analogous to the way that shaping rates constrain bandwidth and cause bandwidth redistribution to unconstrained queues.

For example, voice queues are scheduled at strict priority; therefore, they require very little buffering. Configuring a maximum queue threshold enables the system to allocate more buffers to other queues in the system. Video queues are similar but because they are higher bandwidth, they might require higher maximum committed thresholds.

You might want to limit latency of your multicast traffic by bounding the queue length using a maximum committed threshold. The following example configures the multicast queues so that the committed threshold never exceeds 20 KB, even when the egress memory is lightly loaded. The forfeited buffers are allocated to other queues.

host1(config)#queue-profile multicast host1(config-queue)#committed-length 0 20000 host1(config-queue)#exit

Be sure to include 0 in the syntax, or you will configure a minimum threshold.

Guidelines for Configuring a Minimum Threshold

Configuring a minimum threshold does not guarantee that a queue always obtains the minimum buffer allocation. You can configure 1000 queues with a minimum of 1 MB each, but the buffer memory is 32 MB or 128 MB, not 1 GB. In this case, the system moves into higher operating regions (global utilization) if all these queues buffer traffic, until it reaches 90 percent utilization. At that point, the thresholds must reduce to the reserved percentages, and the queue thresholds drop from a high threshold to a very low one. Queues are not guaranteed to obtain any buffering, and are buffered in the order in which they are received.

You can configure a minimum committed threshold by specifying a value such as 1000 with the committed-length command:

host1(config)#queue-profile multicast host1(config-queue)#committed-length 1000 20000 host1(config-queue)#exit

Related Documentation