El conjunto de documentos para este producto aspira al uso de un lenguaje no discriminatorio. A los fines de esta documentación, "no discriminatorio" se refiere al lenguaje que no implica discriminación por motivos de edad, discapacidad, género, identidad de raza, identidad étnica, orientación sexual, nivel socioeconómico e interseccionalidad. Puede haber excepciones en la documentación debido al lenguaje que se encuentra ya en las interfaces de usuario del software del producto, el lenguaje utilizado en función de la documentación de la RFP o el lenguaje utilizado por un producto de terceros al que se hace referencia. Obtenga más información sobre cómo Cisco utiliza el lenguaje inclusivo.
Cisco ha traducido este documento combinando la traducción automática y los recursos humanos a fin de ofrecer a nuestros usuarios en todo el mundo contenido en su propio idioma. Tenga en cuenta que incluso la mejor traducción automática podría no ser tan precisa como la proporcionada por un traductor profesional. Cisco Systems, Inc. no asume ninguna responsabilidad por la precisión de estas traducciones y recomienda remitirse siempre al documento original escrito en inglés (insertar vínculo URL).
Este documento describe la estructura de la cola y los búferes en la plataforma Catalyst 3650/3850 y proporciona ejemplos sobre cómo se mitigan las caídas de salida.
Cisco recomienda tener conocimientos básicos de calidad de servicio (QoS) en la plataforma Catalyst.
La información que contiene este documento se basa en las siguientes versiones de software y hardware.
Nota: 16.x.x y los cambios posteriores en el comando QoS CLI se documentan en esta guía Resolución de problemas de caídas de salida en switches Catalyst 9000. Este documento es Catalyst serie 9000, pero comparte el mismo ASIC que el 3850. Utilice esta guía para 3850 en 16.x.x o versiones posteriores de Cisco IOS® XE.
La información que contiene este documento se creó a partir de los dispositivos en un ambiente de laboratorio específico. Todos los dispositivos que se utilizan en este documento se pusieron en funcionamiento con una configuración verificada (predeterminada). Si tiene una red en vivo, asegúrese de entender el posible impacto de cualquier comando.
Las caídas de salida son generalmente el resultado de la sobresuscripción de la interfaz causada por muchos a uno o una transferencia de 10gig a 1gig. Los búferes de interfaz son un recurso limitado y sólo pueden absorber una ráfaga hasta un punto después del cual los paquetes pueden descartarse. Puede obtener un poco de amortiguación si ajusta las memorias intermedias, pero no puede garantizar un escenario de caída de salida cero.
Se recomienda ejecutar la última versión de 03.06 o 03.07 para obtener las asignaciones de memoria intermedia apropiadas debido a algunos errores conocidos en códigos anteriores.
Tradicionalmente, las memorias intermedias se asignan estáticamente para cada cola y, a medida que aumenta el número de colas, disminuye la cantidad de memorias intermedias reservadas. Esto es ineficiente y puede agotar el número de búferes necesarios para manejar las tramas de todas las colas. Para evitar ese tipo de limitación, la plataforma Catalyst 3650/3850 utiliza búferes duros y búferes de software.
Asignación de búfer predeterminada sin política de servicio aplicada
La asignación de búfer predeterminada para un puerto de 1 GB es de 300 búferes y para un puerto de 10 GB es de 1800 búferes (1 búfer = 256 bytes). El puerto puede utilizar hasta el 400% del valor predeterminado asignado desde el conjunto común con la configuración predeterminada, que es 1200 búfers y 7200 búfers para la interfaz de 1 Gig y la interfaz de 10 Gig respectivamente.
El límite predeterminado del búfer de software se establece en 400 (que es el umbral máximo). El umbral determina el número máximo de memorias intermedias interactivas que se pueden tomar prestadas del grupo común.
Cuando no se aplica ninguna política de servicio, hay 2 colas predeterminadas (cola 0 y cola 1). La cola 0 se utiliza para el tráfico de control (DSCP 32 o 48 o 56) y la cola 1 se utiliza para el tráfico de datos.
De forma predeterminada, a la cola 0 se le puede asignar el 40% de las memorias intermedias que están disponibles para la interfaz como sus memorias intermedias. Es decir, se asignan 120 búferes para la cola 0 en el contexto de los puertos 1G; 720 búferes en el contexto de los puertos 10G. El Softmax, el máximo de búferes de software, para esta cola está configurado en 480 (calculado como el 400% de 120) para puertos de 1 GB y 2880 para puertos de 10 GB, donde 400 es el umbral máximo predeterminado que se configura para cualquier cola.
La cola 1 no tiene ningún búfer duro asignado. El valor del búfer de software para la cola-1 se calcula como el 400% del búfer de interfaz que permanece después de asignarse a la cola-0. Por lo tanto, es el 400% de 180 para una interfaz de 1 Gig y el 400% de 1800 para una interfaz de 10 Gig.
El show comando que se puede utilizar para ver esta asignación es
show platform qos queue config <interface>.
Para una interfaz 1Gig:
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>>
Para una interfaz de 10 Gig:
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 o Hard Buffers es la cantidad de Buffer que siempre está reservada y disponible para esta cola.
Softmax o Soft Buffers es la cantidad de memoria intermedia que se puede tomar prestada de otras colas o de un conjunto global. El número total de memorias intermedias Softmax por interfaz de 1 Gig es 1200 (400% de 300) y 7200 si se trata de una interfaz de 10 Gig. Cuando aplicamos una política de servicio, puede haber 1 cola adicional creada para "Class default" si no se crea explícitamente. Todo el tráfico que no coincide con las clases definidas anteriormente se encuentra en esta cola. No puede haber ninguna sentencia de coincidencia en esta cola.
Asignación de búfer de ajuste
Para ajustar las memorias intermedias en la plataforma 3650/3850, adjunte una política de servicio en la interfaz respectiva. Puede ajustar la asignación de búfer de Hardmax y Softmax con la política de servicio.
Cálculos del búfer de hardware y del búfer de software
Así es como el sistema asigna Hardmax y Softmax para cada cola:
Búfer de puerto total = 300 (1 G) o 1800 (10 G)
Si hay un total de 5 colas (5 clases), cada cola obtiene un búfer del 20% de forma predeterminada.
cola prioritaria
1 Gig:
HardMax = Oper_Buff = 20% de 300 = 60.
qSoftMax = (Oper_Buff * Max_Threshold)/100=60*400/100=240
10 Gig
HardMax = Oper_Buff = 20% de 1800 = 360
qsoftMax = (Oper_Buff * Max_Threshold)/100 = 360*400/100= 1440
Cola no prioritaria
1 Gig:
HardMax = 0
qSoftMax = (Oper_Buffer*Max_Threshold)/100 = 300*20/100= 60. 40% de 60 = 240
10 Gig:
HardMax = 0
qSoftMax = (Oper_Buffer*Max_Threshold)/100 = 1800*20/100= 360. 400% de 360 = 1440
Usar política de servicio para asignación de búfer de Softmax o Hardmax
si se aplica una política de servicio, solo la "cola de prioridad con nivel 1/2" obtiene el Hardmax. Los siguientes ejemplos pueden ayudar a clarificar la asignación de memoria intermedia para políticas de servicio específicas en la interfaz 1Gig y la interfaz 10Gig. Con la configuración predeterminada que no tiene ninguna política de servicio aplicada, la cola-0 obtiene un valor Hardmax predeterminado de 120 si el link es un link de 1 Gig y 720 búfers si el link es un link de 10 Gig.
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>>
Ejemplo 1
Al aplicar una política de servicio, si no configura una cola de prioridad o si no establece un nivel de cola de prioridad, no puede haber un Hardmax asignado a esa cola.
Para una interfaz 1Gig:
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".
Para una interfaz de 10 Gig:
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>>
Ejemplo 2
Cuando aplica el nivel de prioridad 1, la cola 0 obtiene 60 búfers como Hardmax.
Para una interfaz 1Gig:
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>>
Para una interfaz de 10 Gig:
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>>
Ejemplo 3
En este ejemplo, se agrega una clase adicional. El número total de colas se convierte en 6. Con 2 niveles de prioridad configurados, cada cola obtiene 51 búferes como Hardmax. La matemática es la misma que en el ejemplo anterior.
Para interfaz 1Gig:
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>>
Para una interfaz de 10 Gig:
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>>
Nota: Puede haber menos búferes asignados a pocas colas. Esto se espera como los valores que no pueden caber en el cálculo de Softmax para la cola de prioridad y la cola no prioritaria mientras se combinan ciertas configuraciones.
En resumen, cuantas más colas cree, menos búferes obtendrá cada cola en términos de Hardmax y Softmax (ya que Hardmax también depende del valor de Softmax).
A partir de 3.6.3 o 3.7.2, el valor máximo para Softmax se puede modificar con el comando CLI
qos queue-softmax-multiplier 1200 con 100 como valor predeterminado. Si se configura como 1200, el Softmax para colas sin prioridad y colas de prioridad no principal (!=nivel 1) se multiplica por 12 a partir de sus valores predeterminados. Este comando sólo tendría efecto en los puertos donde se asocia un policy-map. Tampoco es aplicable para el nivel de cola de prioridad 1.
Utilice la política de servicio para cambiar manualmente el valor del búfer Softmax
Ejemplo 1
Esta es la configuración de la política de servicio y la asignación de búfer correspondiente:
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>>
Las memorias intermedias se dividen equitativamente entre las colas. Si utiliza el comando bandwidth sólo se cambia el peso para cada cola y cómo actúa el planificador en ella.
Para ajustar el valor de Softmax, debe utilizar el queue-buffer ratio comando en la clase respectiva.
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
Estas son las nuevas asignaciones de memoria intermedia.
Para interfaz 1Gig:
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
La cola-1 obtiene el 50% del búfer de software, es decir, 600 búferes. El resto de las memorias intermedias se asignan a las otras colas según el algoritmo.
Una salida similar para una interfaz de 10 Gig es:
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>>
Nota: Puede haber menos búferes asignados a unas pocas colas. Esto es de esperar ya que los valores no se pueden ajustar en el cálculo de Softmax para la cola de prioridad y la cola no prioritaria cuando se combinan ciertas configuraciones. Hay un algoritmo interno que se encarga de ello.
Ejemplo 2
Asigne todo el búfer Softmax a la única cola predeterminada.
Puede ver menos búferes asignados a unas pocas colas. Esto se espera porque los valores no pueden caber en el cálculo de Softmax para la cola de prioridad y la cola no prioritaria cuando se configuran ciertas combinaciones. Hay un algoritmo interno que se encarga de ello. Puede haber menos búferes asignados a pocas colas. Esto se espera ya que los valores no pueden ajustarse en el cálculo de Softmax para la cola de prioridad y la cola no prioritaria cuando se configuran ciertas combinaciones. Hay un algoritmo interno que se encarga de ello.
policy-map NODROP class class-default bandwidth percent 100 queue-buffers ratio 100
Los resultados de la configuración de QoS son:
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
No hay memoria intermedia Hardmax, ya que la política se aplica a una interfaz y no tiene ninguna cola de prioridad con el "nivel" establecido. Tan pronto como aplique el policy-map, la segunda cola se inhabilita y eso deja solamente 1 cola en el sistema.
La advertencia aquí es que todos los paquetes utilizan esta única cola (que incluye los paquetes de control como OSPF/EIGRP/STP). Cuando hay congestión (tormenta de difusión), esto puede causar fácilmente interrupciones en la red. Esto también ocurre si tiene otras clases definidas para los paquetes de control que coinciden.
Caso práctico: caídas de la producción
Para esta prueba, el generador de tráfico IXIA está conectado a una interfaz de 1 Gig y el puerto de salida es una interfaz de 100 Mbps. Se trata de una conexión de 1 Gbps a 100 Mbps y se envía una ráfaga de 1 giga de paquetes durante 1 segundo. Esto puede causar la caída de salida en la interfaz de salida de 100 mbps. Con la configuración predeterminada (sin service-policy aplicado), este es el número de caídas de salida después de que se envíe 1:
3850#show interfaces gig1/0/1 | in output drop Input queue: 0/2000/0/0 (size/max/drops/flushes); Total output drops: 497000
Estas caídas se ven en Th2, que es el umbral predeterminado. De forma predeterminada, el sistema puede utilizar el umbral máximo como umbral de descarte, que es 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
Después de eso, configure esta política de servicio para ajustar el buffer:
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
Las caídas se redujeron de 497000 a 385064 para la misma ráfaga de tráfico. Sin embargo, todavía hay caídas. Después de eso, configure el
qos queue-softmax-multiplier 1200 global config comando.
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
El Softmax para queue-0 puede alcanzar hasta 10,000 memorias intermedias y como resultado, las caídas son Cero.
Nota: Este tipo de escenario no es posible ya que otras interfaces también pueden utilizar el buffer, pero esto definitivamente puede ayudar a reducir las caídas de paquetes a un cierto nivel.
El búfer de software máximo disponible para una interfaz se puede aumentar con este comando; sin embargo, también debe tener en cuenta que este está disponible sólo si ninguna otra interfaz utiliza estos búferes.
Summary
1. Cuando crea más colas, obtiene menos búfer para cada cola.
2. El número total de búferes disponibles se puede aumentar con el qos queue-softmax-multiplier <value>comando.
3. Si define solamente 1 class-default, para ajustar el buffer, todo el tráfico cae bajo la única cola (que incluye los paquetes de control). Tenga en cuenta que cuando todo el tráfico se pone en una cola, no hay clasificación entre el tráfico de datos y el de control, y durante el tiempo de congestión, el tráfico de control podría perderse. Por lo tanto, se recomienda crear al menos otra clase para el tráfico de control. Los paquetes de control generados por la CPU siempre van a la cola de primera prioridad aunque no coincidan en el mapa de clase. Si no hay ninguna cola de prioridad configurada, iría a la primera cola de la interfaz, que es queue-0.
4. Antes del Id. de bug Cisco CSCuu14019, las interfaces no mostraban contadores de "caídas de salida". debe ejecutar la show platform qos queue stats salida para verificar si hay caídas.
5. Se envió una solicitud de mejora, Cisco bug ID CSCuz86625 , para permitirnos configurar el multiplicador soft-max sin el uso de ninguna política de servicio.(Resuelto en 3.6.6 y superior)
Información Relacionada
Revisión | Fecha de publicación | Comentarios |
---|---|---|
6.0 |
04-Dec-2023 |
Recertificación |
4.0 |
02-Dec-2022 |
Se agregó URL para solucionar problemas de caídas de salida en switches Catalyst 9000 que se pueden utilizar para 3850 que ejecutan 16.x.x y software posterior |
1.0 |
28-Jul-2016 |
Versión inicial |