キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 
cancel
告知

JTAC-Mid-Career-Recruitment-2021.3

 AMATopBanner2021.4.23.JPG

 2021Apr.TopBanner.JPG

 

Catalyst 3750 3560 2960 製品での QOS による Total output drops / OutDiscards の上昇

7887
閲覧回数
10
いいね!
0
コメント

<概要>

デスクトップシリーズスイッチ製品で、Total output drops / OutDiscards カウンタが上昇し、トラフィック転送のパフォーマンスが落ちるという問題に関して、毎年多くのTAC サービスリクエストをオープン頂いております。
このドキュメントでは、デスクトップシリーズスイッチ製品で、QOS 設定を行った事に起因する、Total output drops / OutDiscards カウンタの上昇と、トラフィック転送パフォーマンス低下という問題に関して説明します。
具体的には、以下の製品を対象としています。

 

Catalyst 2960 シリーズ製品
Catalyst 2960S シリーズ製品
Catalyst 2960X シリーズ製品
Catalyst 2960XR シリーズ製品
Catalyst 3750 シリーズ製品
Catalyst 3560 シリーズ製品
Catalyst 3750E シリーズ製品
Catalyst 3560E シリーズ製品
Catalyst 3750X シリーズ製品
Catalyst 3560X シリーズ製品

 

Total output drops/OutDiscards は、トラフィック転送に使用される送信 Queue に、トラフィックが格納されずに破棄された場合にカウントされます。

 

送信 Queue に、トラフィックが格納されずに破棄される原因としては、主に以下の二つがありますが、前者に関しては他のドキュメントで説明されているため、このドキュメントでは後者に関して説明します。

 

-出力インターフェースの帯域以上の入力トラフィックがある
-QOS 設定

 

参考)
Catalyst 3560, 3750シリーズ、OutDiscard カウンタの上昇について
https://supportforums.cisco.com/ja/document/12050011

 

<QOS 設定による Total output drops/OutDiscards の上昇>

QOS は、限られたリソースをどのトラフィックに対して優先使用させるのかという事を実現するための機能です。
QOS の設定後は、一般的に、あるトラフィックにはリソースが優先して割り当てられ、あるトラフィックには、リソースが優先されないという状態が発生します。

 

"mls qos" だけが設定されており、その他の QOS 設定が行われておらず、Total output drops/OutDiscards が多くカウントされるというお問合せをよく頂きますが、"mls qos"のみを設定する事で、リソース配分が最適化されるという様な事は、決してありません。
上記の様な状態で運用頂く場合、殆どのケースでは、"mls qos" を設定しない場合よりも、Total output drops/OutDiscards が多く発生し、全体のパフォーマンスは低下します。

 

以下では、QOS を有効にした事に起因して発生する、Total output drops/OutDiscards を引き起こす、3つの主な影響に関して説明します。

 

<Queue が増える事による影響>

"mls qos" コマンドを使用し QOS を設定する前後では、ユーザトラフィック転送に使用される Queue の数が以下の様に異なります。

 

QOS 設定前の Queue 数
ユーザトラフィック転送用 Queue 数 -> 1

QOS 設定後の Queue 数
ユーザトラフィック転送用 Queue 数 -> 4

 

ユー ザトラフィックの転送という観点では、QOS 設定前の状況では、一つの Queue がバッファを独占できますが、QOS 設定後は、4つの Queue でバッファを共有する事になるので、共有の仕方が適切でないと、QOS 設定前よりも output drops/OutDiscards が多く発生し、トラフィック転送パフォーマンスが低下します。

 

以下は単純化した例ですが、QOS 有効時のデフォルト設定で、4つの Queue に以下の様なトラフィックがアサインされていた場合、殆どのトラフィックは Queue 2で処理される事や、デフォルトでは Queue に対するバッファ割り当てが他のポートと同様のため、この Queue では非常にoutput drops/OutDiscards が発生しやすい状況になっている一方、Queue 1や Queue 4にはトラフィックがアサインされておらず、これらの Queue でバッファが無駄に消費される事になります。

 

Queue 1->
Queue 2->トラフィックA,B,C,D
Queue 3->トラフィックE
Queue 4->

 

上記の様な理由から、各 Queue にどのトラフィックを割り当てるのか、慎重に決定する必要があります。

 

各 Queue にアサインされているトラフィックは "show mls qos maps" で確認できます。
トラフィックの Queue へのアサインは "mls qos srr-queue output" コマンドで行います。

 

<Queue で使用できるバッファに制限がかかる事による影響>

"mls qos" コマンドを使用し QOS を設定する前後では、上記の Queue 数の違いの他に、Queue で使用できるバッファに対する制限の違いがあります。
QOS を有効にしていない場合、ユーザトラフィックの転送という観点では、一つの Queue がユーザ転送トラフィック用のバッファを全て使う事ができます。


一方、QOS を有効にした後のデフォルト設定では、各 Queue が使用できる最大バッファ量は、QOS 無効の状態と比べ、かなり少ない値に設定されます。
これは一つの Queue が多くのバッファを独占してしまう事により、他の Queue で問題が発生する事を避けるためのデフォルト設定であり、使用状況に応じたチューニングが施される事を前提としています。


この様に、QOS を有効にした後、使用状況に応じたチューニングを行わないと、output drops/OutDiscards が非常に発生しやすい状況となり、トラフィック転送パフォーマンスが低下します。

 

上記の各 Queue でのバッファの状況や、スレッシュホールド等は、"show mls qos queue-set" で確認します。
調整は、"mls qos queue-set output" コマンドで行います。

 

以下は、各 Queue が最大限にバッファを利用できる様にするための設定となります。
output drops/OutDiscards への対策として、TACから案内させて頂く事が多い設定ですが、それは上記の様な理由によります。

 

mls qos queue-set output 1 threshold 1 3200 3200 100 3200
mls qos queue-set output 1 threshold 2 3200 3200 100 3200
mls qos queue-set output 1 threshold 3 3200 3200 100 3200
mls qos queue-set output 1 threshold 4 3200 3200 100 3200


<Queue 1の1/25シェーピングによる影響>

QOS を有効にすると、Queue 1に1/25のシェーピングが設定されます。
これは、帯域が1/25に制限されるという事とほぼ同じ意味で、100M リンクであれば、4M 程度に、1G のリンクであれば、40M 程度に制限されてしまうという事になります。
Queue 1からトラフィックが取り出され送信される速度が落ちる事に起因して、Queue 1 が常にトラフィックを大量に格納した状態に陥り、Queue 1 に新しいトラフィックを格納できない状態になり、結果として、Queue 1で多くの output drops/OutDiscards が発生する事になり、この Queue で処理されるトラフィックの転送パフォーマンスが低下します。
QOS 有効後に output drops/OutDiscards が増加するケースで、上記に起因しているケースは非常に多いです。

 

上記シェーピングの確認は、"show mls qos interface queueing" コマンドで行います。
設定は、"srr-queue bandwidth shape" コマンドで行います。

 

以下は、この1/25シェーピングを解除する設定となります。

 

srr-queue bandwidth shape 0 0 0 0

 

この設定も、output drops/OutDiscards への対策としてTAC から案内させて頂く事が多い設定ですが、それは上記の様な理由によります。

 

<まとめ>

QOS設定を行った事に起因して、Total output drops/OutDiscards カウンタが上昇し、トラフィック転送のパフォーマンスが低下するというお問合せがよくあります。

以下の3つの事を念頭に QOS の設定を見直して頂く事で、改善する事が多々あります。

 

-Queue が増える事による影響
-Queue で使用できるバッファに制限がかかる事による影響
-Queue 1の1/25シェーピングによる影響

 

また、以下は、15.0(2)SE での設定情報ですが、ご使用頂いている各IOSバージョンの、Configuration Guide も参照下さい。

 

Configuring QoS

http://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst3750x_3560x/software/release/15-0_2_se/configuration/guide/3750x_cg/swqos.html