In dem Dokumentationssatz für dieses Produkt wird die Verwendung inklusiver Sprache angestrebt. Für die Zwecke dieses Dokumentationssatzes wird Sprache als „inklusiv“ verstanden, wenn sie keine Diskriminierung aufgrund von Alter, körperlicher und/oder geistiger Behinderung, Geschlechtszugehörigkeit und -identität, ethnischer Identität, sexueller Orientierung, sozioökonomischem Status und Intersektionalität impliziert. Dennoch können in der Dokumentation stilistische Abweichungen von diesem Bemühen auftreten, wenn Text verwendet wird, der in Benutzeroberflächen der Produktsoftware fest codiert ist, auf RFP-Dokumentation basiert oder von einem genannten Drittanbieterprodukt verwendet wird. Hier erfahren Sie mehr darüber, wie Cisco inklusive Sprache verwendet.
Cisco hat dieses Dokument maschinell übersetzen und von einem menschlichen Übersetzer editieren und korrigieren lassen, um unseren Benutzern auf der ganzen Welt Support-Inhalte in ihrer eigenen Sprache zu bieten. Bitte beachten Sie, dass selbst die beste maschinelle Übersetzung nicht so genau ist wie eine von einem professionellen Übersetzer angefertigte. Cisco Systems, Inc. übernimmt keine Haftung für die Richtigkeit dieser Übersetzungen und empfiehlt, immer das englische Originaldokument (siehe bereitgestellter Link) heranzuziehen.
In diesem Dokument werden die Warteschlangenstruktur und die Puffer auf der Catalyst 3650-/3850-Plattform beschrieben. Darüber hinaus enthält es Beispiele zur Vermeidung von Ausgabeverringerungen.
Cisco empfiehlt, dass Sie über Grundkenntnisse der Quality of Service (QoS) auf der Catalyst-Plattform verfügen.
Die Informationen in diesem Dokument basierend auf folgenden Software- und Hardware-Versionen:
Hinweis: QoS-CLI-Befehlsänderungen von 16.x.x und höher werden in diesem Leitfaden dokumentiert Fehlerbehebung bei Output-Drops auf Catalyst Switches der Serie 9000. Dieses Dokument enthält die Catalyst Switches der Serie 9000, verwendet jedoch den gleichen ASIC wie der 3850. Verwenden Sie dieses Handbuch für 3850 auf 16.x.x oder höheren Cisco IOS® XE-Versionen.
Die Informationen in diesem Dokument beziehen sich auf Geräte in einer speziell eingerichteten Testumgebung. Alle Geräte, die in diesem Dokument benutzt wurden, begannen mit einer gelöschten (Nichterfüllungs) Konfiguration. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die möglichen Auswirkungen aller Befehle kennen.
Output-Drops sind in der Regel das Ergebnis einer Überbelegung der Schnittstelle, die durch Many-to-One- oder 10gig-to-1gig-Übertragungen verursacht wird. Schnittstellenpuffer sind eine begrenzte Ressource und können nur einen Burst bis zu einem Punkt absorbieren, nach dem Pakete verworfen werden können. Wenn Sie die Puffer abstimmen, erhalten Sie ein gewisses Kissen, aber es kann kein Szenario garantieren, bei dem keine Ausgabe verloren geht.
Es wird empfohlen, die neueste Version von 03.06 oder 03.07 auszuführen, um geeignete Pufferzuweisungen aufgrund einiger bekannter Fehler in älteren Codes zu erhalten.
Üblicherweise werden Puffer statisch für jede Warteschlange zugewiesen, und mit zunehmender Anzahl von Warteschlangen nimmt die Anzahl der reservierten Puffer ab. Dies ist ineffizient und kann die Anzahl der Puffer verringern, die zur Verarbeitung von Frames für alle Warteschlangen erforderlich sind. Um diese Art von Einschränkung zu umgehen, verwendet die Catalyst 3650/3850-Plattform Hard Buffer und Soft Buffer.
Standard-Pufferzuweisung ohne angewendete Servicerichtlinie
Die standardmäßige Pufferzuweisung für einen 1-GB-Port beträgt 300 Puffer, für einen 10-GB-Port 1800 Puffer (1 Puffer = 256 Byte). Der Port kann bis zu 400 % des vom gemeinsamen Pool zugewiesenen Standardwerts mit Standardeinstellungen verwenden. Dies sind 1.200 Puffer und 7.200 Puffer für eine Gigabit-Schnittstelle bzw. eine 10Gigabit-Schnittstelle.
Der Soft-Buffer-Standardwert ist 400 (der maximale Grenzwert). Der Schwellenwert legt die maximale Anzahl von weichen Puffern fest, die aus dem gemeinsamen Pool ausgeliehen werden können.
Wenn keine Dienstrichtlinie angewendet wird, gibt es zwei Standardwarteschlangen (Warteschlange 0 und Warteschlange 1). Die Warteschlange 0 wird für Steuerungsdatenverkehr (DSCP 32 oder 48 oder 56) und die Warteschlange 1 für Datenverkehr verwendet.
Standardmäßig können der Warteschlange 0 40 % der Puffer zugewiesen werden, die als feste Puffer für die Schnittstelle verfügbar sind. Das heißt, für die Warteschlange 0 werden im Kontext von 1G-Ports 120 Puffer zugewiesen; 720 Puffer im Kontext von 10G-Ports. Der Softmax, die maximale Anzahl an weichen Puffern, für diese Warteschlange ist auf 480 (berechnet als 400 % von 120) für Ports mit 1 GB und auf 2880 für Ports mit 10 GB festgelegt, wobei 400 der standardmäßige maximale Schwellenwert ist, der für jede Warteschlange konfiguriert ist.
Der Warteschlange 1 sind keine harten Puffer zugeordnet. Der Wert des weichen Puffers für queue-1 wird als 400 % des Schnittstellenpuffers berechnet, der nach der Zuweisung an queue-0 verbleibt. Es sind also 400 % von 180 für eine 1Gig-Schnittstelle und 400 % von 1800 für eine 10Gig-Schnittstelle.
Der show Befehl, mit dem diese Zuweisung angezeigt wird, lautet:
show platform qos queue config <interface>.
Für eine 1Gig-Schnittstelle:
3850#show platform qos queue config gigabitEthernet 1/0/1 DATA Port:20 GPN:66 AFD:Disabled QoSMap:0 HW Queues: 160 - 167 DrainFast:Disabled PortSoftStart:1 - 1080 ---------------------------------------------------------- DTS Hardmax Softmax PortSMin GlblSMin PortStEnd --- -------- -------- -------- --------- --------- 0 1 5 120 6 480 6 320 0 0 3 1440 1 1 4 0 7 720 3 480 2 180 3 1440 2 1 4 0 5 0 5 0 0 0 3 1440 3 1 4 0 5 0 5 0 0 0 3 1440 4 1 4 0 5 0 5 0 0 0 3 1440 5 1 4 0 5 0 5 0 0 0 3 1440 6 1 4 0 5 0 5 0 0 0 3 1440 7 1 4 0 5 0 5 0 0 0 3 1440 <<output omitted>>
Für eine 10Gig-Schnittstelle:
3850#show platform qos queue config tenGigabitEthernet 1/0/37 DATA Port:1 GPN:37 AFD:Disabled QoSMap:0 HW Queues: 8 - 15 DrainFast:Disabled PortSoftStart:2 - 6480 ---------------------------------------------------------- DTS Hardmax Softmax PortSMin GlblSMin PortStEnd --- -------- -------- -------- --------- --------- 0 1 6 720 8 2880 7 1280 0 0 4 8640 1 1 4 0 9 4320 8 1920 3 1080 4 8640 2 1 4 0 5 0 5 0 0 0 4 8640 3 1 4 0 5 0 5 0 0 0 4 8640 4 1 4 0 5 0 5 0 0 0 4 8640
<<output omitted>>
Hardmax oder Hard Buffers ist die Menge an Puffer, die immer reserviert und für diese Warteschlange verfügbar ist.
Softmax oder Soft Buffers" ist die Puffergröße, die aus anderen Warteschlangen oder dem globalen Pool ausgeliehen werden kann. Die Gesamtanzahl von Softmax pro 1Gig-Schnittstelle beträgt 1.200 (400 % von 300) und 7.200 Puffer, wenn es sich um eine 10Gig-Schnittstelle handelt. Wenn eine Dienstrichtlinie angewendet wird, kann eine zusätzliche Warteschlange für "Class default" erstellt werden, wenn diese nicht explizit erstellt wurde. Der gesamte Datenverkehr, der nicht den zuvor definierten Klassen entspricht, fällt unter diese Warteschlange. Unter dieser Warteschlange darf keine Übereinstimmungsanweisung vorhanden sein.
Pufferzuweisung optimieren
Um die Puffer in der 3650/3850-Plattform anzupassen, fügen Sie unter der entsprechenden Schnittstelle eine Servicerichtlinie hinzu. Die Hardmax- und Softmax-Pufferzuweisung können Sie mit der Service-Policy anpassen.
Hard Buffer- und Soft Buffer-Berechnungen
So weist das System den Warteschlangen Hardmax und Softmax zu:
Gesamtpuffer für Ports = 300 (1 G) oder 1800 (10 G)
Bei insgesamt 5 Warteschlangen (5 Klassen) erhält jede Warteschlange standardmäßig 20 % Puffer.
Prioritätswarteschlange
1 GB:
HardMax = Oper_Buff = 20 % von 300 = 60.
qSoftMax = (Oper_Buff * Max_Threshold)/100=60*400/100=240
10 GB
HardMax = Oper_Buff = 20 % von 1800 = 360
qsoftMax = (Oper_Buff * Max_Threshold)/100 = 360 x 400/100 = 1440
Nicht-Prioritätswarteschlange
1 GB:
HardMax = 0
qSoftMax = (Oper_Buffer*Max_Threshold)/100 = 300*20/100= 60. 400% von 60 = 240
10 GB:
HardMax = 0
qSoftMax = (Oper_Buffer*Max_Threshold)/100 = 1800*20/100= 360. 400% von 360 = 1440
Verwenden Sie die Servicerichtlinie für die Hardmax- oder Softmax-Pufferzuweisung.
Bei Anwendung einer Service-Policy erhält nur die "Priority Queue mit Level 1/2" den Hardmax. Die folgenden Beispiele können dabei helfen, die Pufferzuweisung für bestimmte Servicerichtlinien in 1Gig- und 10Gig-Schnittstellen klarzustellen. Bei der Standardkonfiguration, für die keine Servicerichtlinie angewendet wurde, erhält queue-0 den Standard-Hardmax-Wert von 120, wenn es sich um eine 1Gig-Verbindung handelt, und 720 Puffer, wenn es sich um eine 10Gig-Verbindung handelt.
3850#show platform qos queue config gigabitEthernet 1/0/1 DATA Port:0 GPN:119 AFD:Disabled QoSMap:0 HW Queues: 0 - 7 DrainFast:Disabled PortSoftStart:1 - 1080 ---------------------------------------------------------- DTS Hardmax Softmax PortSMin GlblSMin PortStEnd --- -------- -------- -------- --------- --------- 0 1 5 120 6 480 6 320 0 0 3 1440 1 1 4 0 7 720 3 480 2 180 3 1440 2 1 4 0 5 0 5 0 0 0 3 1440
<<output omitted>>
3850#show platform qos queue config tenGigabitEthernet 1/0/37
DATA Port:1 GPN:37 AFD:Disabled QoSMap:0 HW Queues: 8 - 15
DrainFast:Disabled PortSoftStart:2 - 6480
----------------------------------------------------------
DTS Hardmax Softmax PortSMin GlblSMin PortStEnd
--- -------- -------- -------- --------- ---------
0 1 6 720 8 2880 7 1280 0 0 4 8640
1 1 4 0 9 4320 8 1920 3 1080 4 8640
2 1 4 0 5 0 5 0 0 0 4 8640
<<output omitted>>
Beispiel 1
Wenn Sie eine Dienstrichtlinie anwenden, keine Prioritätswarteschlange konfigurieren oder keine Prioritätswarteschlangenebene festlegen, kann dieser Warteschlange kein Hardmax zugewiesen werden.
Für eine 1Gig-Schnittstelle:
policy-map MYPOL
class ONE
priority percent 20
class TWO
bandwidth percent 40
class THREE
bandwidth percent 10
class FOUR
bandwidth percent 5
3850#show run interface gig1/0/1
Current configuration : 67 bytes
!
interface GigabitEthernet1/0/1
service-policy output MYPOL
end
3800#show platform qos queue config gigabitEthernet 1/0/1
DATA Port:21 GPN:65 AFD:Disabled QoSMap:1 HW Queues: 168 - 175
DrainFast:Disabled PortSoftStart:2 - 360
----------------------------------------------------------
DTS Hardmax Softmax PortSMin GlblSMin PortStEnd
--- -------- -------- -------- --------- ---------
0 1 4 0 8 240 7 160 3 60 4 480
1 1 4 0 8 240 7 160 3 60 4 480
2 1 4 0 8 240 7 160 3 60 4 480
3 1 4 0 8 240 7 160 3 60 4 480
4 1 4 0 8 240 7 160 3 60 4 480
<<output omitted>>
!--- There are 5 classes present though you only created 4 classes.
!--- The 5th class is the default class.
!--- Each class represent a queue and the order in which it is shown is the order in which
!--- it is present in the running configuration when checking "show run | sec policy-map".
Für eine 10Gig-Schnittstelle:
policy-map MYPOL class ONE priority percent 20 class TWO bandwidth percent 40 class THREE bandwidth percent 10 class FOUR bandwidth percent 5 3850#show run interface TenGigabitEthernet1/0/37 Current configuration : 67 bytes ! interface TenGigabitEthernet1/0/37 service-policy output MYPOL end 3850#show platform qos queue config tenGigabitEthernet 1/0/40 DATA Port:2 GPN:40 AFD:Disabled QoSMap:1 HW Queues: 16 - 23 DrainFast:Disabled PortSoftStart:4 - 2160 ----------------------------------------------------------
DTS Hardmax Softmax PortSMin GlblSMin PortStEnd
--- -------- -------- -------- --------- ---------
0 1 4 0 10 1440 9 640 4 360 5 2880
1 1 4 0 10 1440 9 640 4 360 5 2880
2 1 4 0 10 1440 9 640 4 360 5 2880
3 1 4 0 10 1440 9 640 4 360 5 2880
4 1 4 0 10 1440 9 640 4 360 5 2880
5 1 4 0 5 0 5 0 0 0 5 2880 <<output omitted>>
Beispiel 2
Wenn Sie die Prioritätsstufe 1 anwenden, erhält die Warteschlange 0 60 Puffer als Hardmax.
Für eine 1Gig-Schnittstelle:
policy-map MYPOL
class ONE
priority level 1 percent 20
class TWO
bandwidth percent 40
class THREE
bandwidth percent 10
class FOUR
bandwidth percent 5
3850#show run interface gig1/0/1
Current configuration : 67 bytes
!
interface GigabitEthernet1/0/1
service-policy output MYPOL
end
BGL.L.13-3800-1#show platform qos queue config gigabitEthernet 1/0/1
DATA Port:21 GPN:65 AFD:Disabled QoSMap:1 HW Queues: 168 - 175
DrainFast:Disabled PortSoftStart:2 - 360
----------------------------------------------------------
DTS Hardmax Softmax PortSMin GlblSMin PortStEnd
--- -------- -------- -------- --------- ---------
0 1 6 60 8 240 7 160 0 0 4 480
1 1 4 0 8 240 7 160 3 60 4 480
2 1 4 0 8 240 7 160 3 60 4 480
3 1 4 0 8 240 7 160 3 60 4 480
4 1 4 0 8 240 7 160 3 60 4 480
<<output omitted>>
Für eine 10Gig-Schnittstelle:
policy-map MYPOL class ONE priority level 1 percent 20 class TWO bandwidth percent 40 class THREE bandwidth percent 10 class FOUR bandwidth percent 5 3850#show run interface Te1/0/37 Current configuration : 67 bytes ! interface TenGigabitEthernet1/0/37 service-policy output MYPOL end 3850_1#show platform qos queue config tenGigabitEthernet 1/0/37 DATA Port:2 GPN:40 AFD:Disabled QoSMap:1 HW Queues: 16 - 23 DrainFast:Disabled PortSoftStart:3 - 2160 ---------------------------------------------------------- DTS Hardmax Softmax PortSMin GlblSMin PortStEnd --- -------- -------- -------- --------- --------- 0 1 7 360 10 1440 9 640 0 0 5 2880 1 1 4 0 10 1440 9 640 4 360 5 2880 2 1 4 0 10 1440 9 640 4 360 5 2880 3 1 4 0 10 1440 9 640 4 360 5 2880 4 1 4 0 10 1440 9 640 4 360 5 2880 5 1 4 0 5 0 5 0 0 0 5 2880 <<output omitted>>
Beispiel 3
Für dieses Beispiel wird eine zusätzliche Klasse hinzugefügt. Die Gesamtzahl der Warteschlangen wird auf 6 festgelegt. Bei zwei konfigurierten Prioritätsebenen erhält jede Warteschlange 51 Puffer als Hardmax. Die Mathematik ist die gleiche wie im vorherigen Beispiel.
Für 1Gig-Schnittstelle:
policy-map MYPOL
class ONE
priority level 1 percent 20
class TWO
priority level 2 percent 10
class THREE
bandwidth percent 10
class FOUR
bandwidth percent 5
class FIVE
bandwidth percent 10
3850#show run interface gigabitEthernet1/0/1
Current configuration : 67 bytes
!
interface GigabitEthernet1/0/1
service-policy output MYPOL
end
3850#show platform qos queue config gigabitEthernet 1/0/1
DATA Port:16 GPN:10 AFD:Disabled QoSMap:1 HW Queues: 128 - 135
DrainFast:Disabled PortSoftStart:3 - 306
----------------------------------------------------------
DTS Hardmax Softmax PortSMin GlblSMin PortStEnd
--- -------- -------- -------- --------- ---------
0 1 7 51 10 204 9 136 0 0 5 408
1 1 7 51 10 204 9 136 0 0 5 408
2 1 4 0 10 204 9 136 4 51 5 408
3 1 4 0 10 204 9 136 4 51 5 408
4 1 4 0 11 192 10 128 5 48 5 408
5 1 4 0 11 192 10 128 5 48 5 408
6 1 4 0 5 0 5 0 0 0 5 408
<<output omitted>>
Für eine 10Gig-Schnittstelle:
policy-map MYPOL class ONE priority level 1 percent 20 class TWO priority level 2 percent 10 class THREE bandwidth percent 10 class FOUR bandwidth percent 5 class FIVE bandwidth percent 10 3850#show run interface Te1/0/37 Current configuration : 67 bytes ! interface TenGigabitEthernet1/0/37 service-policy output MYPOL end 3850_2#show platform qos queue config tenGigabitEthernet 1/0/37 DATA Port:2 GPN:40 AFD:Disabled QoSMap:1 HW Queues: 16 - 23 DrainFast:Disabled PortSoftStart:4 - 1836 ---------------------------------------------------------- DTS Hardmax Softmax PortSMin GlblSMin PortStEnd --- -------- -------- -------- --------- --------- 0 1 8 306 12 1224 11 544 0 0 6 2448 1 1 8 306 12 1224 11 544 0 0 6 2448 2 1 4 0 12 1224 11 544 6 306 6 2448 3 1 4 0 12 1224 11 544 6 306 6 2448 4 1 4 0 13 1152 12 512 7 288 6 2448 5 1 4 0 13 1152 12 512 7 288 6 2448 6 1 4 0 5 0 5 0 0 0 6 2448 <<output omitted>>
Hinweis: Wenigen Warteschlangen können weniger Puffer zugewiesen werden. Dies wird erwartet, da die Werte nicht in die Softmax-Berechnung für die Prioritätswarteschlange und die Nicht-Prioritätswarteschlange passen, während bestimmte Konfigurationen kombiniert werden.
Zusammengefasst: Je mehr Warteschlangen Sie erstellen, desto weniger Puffer erhält jede Warteschlange in Bezug auf Hardmax und Softmax (da Hardmax auch vom Softmax-Wert abhängt).
Ab Version 3.6.3 oder 3.7.2 kann der Maximalwert für Softmax mit dem CLI-Befehl
qos queue-softmax-multiplier 1200 mit 100 als Standardwert geändert werden. Bei der Konfiguration als 1200 werden die Softmax für Nicht-Prioritätswarteschlangen und Nicht-Primärprioritätswarteschlangen (!=Stufe 1) mit 12 aus ihren Standardwerten multipliziert. Dieser Befehl wird nur auf den Ports wirksam, an die eine Richtlinienzuweisung angefügt ist. Sie gilt auch nicht für die Prioritätswarteschlangenebene 1.
Manuelle Änderung des Softmax-Pufferwerts mithilfe der Servicerichtlinie
Beispiel 1
Dies ist die Konfiguration der Dienstrichtlinie und die entsprechende Pufferzuweisung:
policy-map TEST_POLICY
class ONE
priority level 1 percent 40
class TWO
bandwidth percent 40
class THREE
bandwidth percent 10
3850#show run interface gigabitEthernet1/0/1
Current configuration : 67 bytes
!
interface GigabitEthernet1/0/1
service-policy output TEST_POLICY
end
3850#show platform qos queue config gigabitEthernet 1/0/1
DATA Port:21 GPN:65 AFD:Disabled QoSMap:1 HW Queues: 168 - 175
DrainFast:Disabled PortSoftStart:2 - 450
----------------------------------------------------------
DTS Hardmax Softmax PortSMin GlblSMin PortStEnd
--- -------- -------- -------- --------- ---------
0 1 6 75 8 300 7 200 0 0 4 600
1 1 4 0 8 300 7 200 3 75 4 600
2 1 4 0 8 300 7 200 3 75 4 600
3 1 4 0 8 300 7 200 3 75 4 600
<<output omitted>>
Die Puffer sind gleichmäßig auf die Warteschlangen verteilt. Wenn Sie den Bandbreitenbefehl verwenden, wird nur die Gewichtung für jede Warteschlange geändert, und es wird festgelegt, wie der Scheduler darauf reagiert.
Um den Softmax-Wert anzupassen, müssen Sie den queue-buffer ratio Befehl unter der entsprechenden Klasse verwenden.
policy-map TEST_POLICY class ONE priority level 1 percent 40 class TWO bandwidth percent 40 queue-buffers ratio 50 <--------------- class THREE bandwidth percent 10 class FOUR bandwidth percent 5
Dies sind die neuen Pufferzuweisungen.
Für 1Gig-Schnittstelle:
3850#show platform qos queue config gigabitEthernet 1/0/1
DATA Port:21 GPN:65 AFD:Disabled QoSMap:1 HW Queues: 168 - 175
DrainFast:Disabled PortSoftStart:0 - 900
----------------------------------------------------------
DTS Hardmax Softmax PortSMin GlblSMin PortStEnd
--- -------- -------- -------- --------- ---------
0 1 6 39 8 156 7 104 0 0 0 1200
1 1 4 0 9 600 8 400 3 150 0 1200
2 1 4 0 8 156 7 104 4 39 0 1200
3 1 4 0 10 144 9 96 5 36 0 1200
4 1 4 0 10 144 9 96 5 36 0 1200
Die Warteschlange 1 erhält 50 % des weichen Puffers, d. h. 600 Puffer. Die übrigen Puffer werden den anderen Warteschlangen gemäß dem Algorithmus zugewiesen.
Ein ähnlicher Ausgang für eine 10Gig-Schnittstelle ist:
3850#show platform qos queue config tenGigabitEthernet 1/0/37 DATA Port:2 GPN:40 AFD:Disabled QoSMap:1 HW Queues: 16 - 23 DrainFast:Disabled PortSoftStart:4 - 1836 ---------------------------------------------------------- DTS Hardmax Softmax PortSMin GlblSMin PortStEnd --- -------- -------- -------- --------- --------- 0 1 7 234 10 936 9 416 0 0 5 7200 1 1 4 0 11 3600 10 1600 4 900 5 7200 2 1 4 0 10 936 9 416 5 234 5 7200 3 1 4 0 4 864 11 384 1 216 5 7200 4 1 4 0 4 864 11 384 1 216 5 7200 5 1 4 0 5 0 5 0 0 0 5 7200 <<output omitted>>
Hinweis: Einigen Warteschlangen können weniger Puffer zugewiesen werden. Dies ist zu erwarten, da die Werte bei der Softmax-Berechnung für die Prioritätswarteschlange und die Nicht-Prioritätswarteschlange nicht berücksichtigt werden können, wenn bestimmte Konfigurationen kombiniert werden. Es gibt einen internen Algorithmus, der sich darum kümmert.
Beispiel 2
Weisen Sie den gesamten Softmax-Puffer der einzelnen Standardwarteschlange zu.
Sie können sehen, dass weniger Puffer einigen wenigen Warteschlangen zugewiesen sind. Dies wird erwartet, da die Werte bei der Konfiguration bestimmter Kombinationen nicht in die Softmax-Berechnung für die Prioritätswarteschlange und die Nicht-Prioritätswarteschlange passen. Es gibt einen internen Algorithmus, der sich darum kümmert. Weniger Puffer können wenigen Warteschlangen zugewiesen werden. Dies wird erwartet, da die Werte bei der Softmax-Berechnung für die Prioritätswarteschlange und die Nicht-Prioritätswarteschlange nicht berücksichtigt werden können, wenn bestimmte Kombinationen konfiguriert sind. Es gibt einen internen Algorithmus, der sich darum kümmert.
policy-map NODROP class class-default bandwidth percent 100 queue-buffers ratio 100
Die Ergebnisse der QoS-Konfiguration sind:
3850#show platform qos queue config GigabitEthernet 1/1/1 DATA Port:21 GPN:65 AFD:Disabled QoSMap:1 HW Queues: 168 - 175 DrainFast:Disabled PortSoftStart:0 - 900 ---------------------------------------------------------- DTS Hardmax Softmax PortSMin GlblSMin PortStEnd --- -------- -------- -------- --------- --------- 0 1 4 0 8 1200 7 800 3 300 2 2400 1 1 4 0 5 0 5 0 0 0 2 2400
Es gibt keinen Hardmax-Puffer, da die Richtlinie auf eine Schnittstelle angewendet wird und keine Prioritätswarteschlange mit festgelegter "Ebene" vorhanden ist. Sobald Sie die Richtlinienzuordnung anwenden, wird die zweite Warteschlange deaktiviert, und es verbleibt nur noch eine Warteschlange im System.
Der Nachteil hierbei ist, dass alle Pakete diese eine Warteschlange nutzen (die Steuerungspakete wie OSPF/EIGRP/STP umfasst). Bei Überlastung (Broadcast-Stürme) kann dies leicht zu Netzwerkstörungen führen. Dies ist auch der Fall, wenn andere Klassen für die Steuerungspakete definiert sind, die übereinstimmen.
Anwenderbericht: Ausgabekürzungen
Für diesen Test wird der IXIA-Datenverkehrsgenerator an die 1Gig-Schnittstelle angeschlossen, und der Ausgangsport ist eine 100-Mbit/s-Schnittstelle. Dies ist eine Verbindung mit 1 Gbit/s bis 100 Mbit/s, und ein Burst von 1 Gig Paketen wird für 1 Sekunde gesendet. Dies kann zu einem Verwerfen der Ausgabe an der 100-Mbit/s-Ausgangsschnittstelle führen. Mit der Standardkonfiguration (ohne Anwendung einer Service-Richtlinie) ist dies die Anzahl der Ausgabeverfügungen nach dem Senden von 1:
3850#show interfaces gig1/0/1 | in output drop Input queue: 0/2000/0/0 (size/max/drops/flushes); Total output drops: 497000
Diese Drops werden in Th2 angezeigt, dem Standardschwellenwert. Standardmäßig kann das System den maximalen Grenzwert als Drop-Schwellwert verwenden. Dieser lautet Drop-Th2.
3800#show platform qos queue stats gigabitEthernet 1/0/1 <snip> DATA Port:21 Drop Counters ------------------------------- Queue Drop-TH0 Drop-TH1 Drop-TH2 SBufDrop QebDrop ----- ----------- ----------- ----------- ----------- ----------- 0 0 0 497000 0 0 1 0 0 0 0 0
Konfigurieren Sie anschließend diese Dienstrichtlinie, um den Puffer zu optimieren:
policy-map TEST_POLICY
class class-default
bandwidth percent 100
queue-buffers ratio 100
3850#show run interface gigabitEthernet1/0/1
Current configuration : 67 bytes
!
interface GigabitEthernet1/0/1
service-policy output TEST_POLICY
end
3850#show platform qos queue config gigabitEthernet 2/0/1
DATA Port:21 GPN:65 AFD:Disabled QoSMap:1 HW Queues: 168 - 175
DrainFast:Disabled PortSoftStart:0 - 900
----------------------------------------------------------
DTS Hardmax Softmax PortSMin GlblSMin PortStEnd
--- -------- -------- -------- --------- ---------
0 1 4 0 8 1200 7 800 3 300 2 2400 <-- queue 0 gets all the buffer.
3850#show interfaces gigabitEthernet1/0/1 | include output drop
Input queue: 0/2000/0/0 (size/max/drops/flushes); Total output drops: 385064
Bei demselben Datenverkehrsstoß wurden die Verluste von 497000 auf 385064 reduziert. Dennoch gibt es immer noch Rückgänge. Konfigurieren Sie anschließend den
qos queue-softmax-multiplier 1200 global config Befehl.
3850#show platform qos queue config gigabitEthernet 1/0/1
DATA Port:21 GPN:65 AFD:Disabled QoSMap:1 HW Queues: 168 - 175
DrainFast:Disabled PortSoftStart:0 - 900
----------------------------------------------------------
DTS Hardmax Softmax PortSMin GlblSMin PortStEnd
--- -------- -------- -------- --------- ---------
0 1 4 0 8 10000 7 800 3 300 2 10000
3850#show interfaces gigabitEthernet1/0/1 | in output drop
Input queue: 0/2000/0/0 (size/max/drops/flushes); Total output drops: 0
Der Softmax für queue-0 kann bis zu 10.000 Puffer erreichen und infolgedessen sind die Drops Null.
Hinweis: Ein solches Szenario ist nicht möglich, da andere Schnittstellen den Puffer ebenfalls verwenden können. Dies kann jedoch definitiv dazu beitragen, das Verwerfen des Pakets auf eine bestimmte Ebene zu reduzieren.
Der maximal verfügbare Soft-Puffer für eine Schnittstelle kann mit diesem Befehl erhöht werden. Beachten Sie jedoch, dass dieser nur verfügbar ist, wenn keine andere Schnittstelle diese Puffer verwendet.
Zusammenfassung
1. Wenn Sie mehr Warteschlangen erstellen, erhalten Sie für jede Warteschlange weniger Puffer.
2. Die Gesamtzahl der verfügbaren Puffer kann mit qos queue-softmax-multiplier <value>Befehl erhöht werden.
3. Wenn Sie nur 1 class-default definieren, fällt der gesamte Datenverkehr zur Optimierung des Puffers in die einzelne Warteschlange (die Steuerungspakete enthält). Beachten Sie, dass, wenn der gesamte Datenverkehr in eine Warteschlange gestellt wird, es keine Klassifizierung zwischen Steuerungs- und Datenverkehr gibt und dass der Steuerungsdatenverkehr während einer Überlastungszeit möglicherweise verworfen wird. Es wird daher empfohlen, mindestens eine weitere Klasse für Kontrollverkehr zu erstellen. CPU-generierte Kontrollpakete werden immer an die erste Prioritätswarteschlange weitergeleitet, auch wenn sie in der Klassenzuordnung nicht übereinstimmen. Wenn keine Prioritätswarteschlange konfiguriert ist, wird sie zur ersten Warteschlange der Schnittstelle, Warteschlange 0, weitergeleitet.
4. Vor der Cisco Bug-ID CSCuu14019 werden auf den Schnittstellen keine Zähler für verworfene Ausgaben angezeigt. Sie müssen die show platform qos queue stats Ausgabe ausführen, um nach Verwerfungen zu suchen.
5. Es wurde eine Erweiterungsanfrage mit der Cisco Bug-ID CSCuz8625 gesendet, um die Konfiguration des Soft-Max-Multiplikators ohne die Verwendung einer Dienstrichtlinie zu ermöglichen. (Behoben in 3.6.6 und höher)
Zugehörige Informationen
Überarbeitung | Veröffentlichungsdatum | Kommentare |
---|---|---|
6.0 |
04-Dec-2023 |
Rezertifizierung |
4.0 |
02-Dec-2022 |
URL zur Fehlerbehebung bei Ausgabekürzungen auf Catalyst Switches der Serie 9000 hinzugefügt, die für 3850 mit Software der Version 16.x.x und höher verwendet werden können |
1.0 |
28-Jul-2016 |
Erstveröffentlichung |