O conjunto de documentação deste produto faz o possível para usar uma linguagem imparcial. Para os fins deste conjunto de documentação, a imparcialidade é definida como uma linguagem que não implica em discriminação baseada em idade, deficiência, gênero, identidade racial, identidade étnica, orientação sexual, status socioeconômico e interseccionalidade. Pode haver exceções na documentação devido à linguagem codificada nas interfaces de usuário do software do produto, linguagem usada com base na documentação de RFP ou linguagem usada por um produto de terceiros referenciado. Saiba mais sobre como a Cisco está usando a linguagem inclusiva.
A Cisco traduziu este documento com a ajuda de tecnologias de tradução automática e humana para oferecer conteúdo de suporte aos seus usuários no seu próprio idioma, independentemente da localização. Observe que mesmo a melhor tradução automática não será tão precisa quanto as realizadas por um tradutor profissional. A Cisco Systems, Inc. não se responsabiliza pela precisão destas traduções e recomenda que o documento original em inglês (link fornecido) seja sempre consultado.
Este documento descreve a estrutura da fila e os buffers na plataforma Catalyst 3650/3850 e fornece exemplos de como as quedas de saída são mitigadas.
A Cisco recomenda que você tenha conhecimento básico de Qualidade de Serviço (QoS) na plataforma Catalyst.
As informações neste documento são baseadas nestas versões de software e hardware:
Observação: 16.x.x e alterações posteriores do comando QoS CLI estão documentadas neste guia Troubleshooting Output Drops on Catalyst 9000 Switches. Este documento é o Catalyst 9000 Series, mas compartilha o mesmo ASIC que o 3850. Use este guia para o 3850 em versões 16.x.x ou posteriores do Cisco IOS® XE.
As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.
As quedas de saída geralmente são resultado da sobreassinatura da interface causada por uma transferência de muitos para um ou de 10 gig para 1 gig. Os buffers de interface são um recurso limitado e só podem absorver uma rajada até um ponto após o qual os pacotes possam cair. Você pode obter alguma almofada se ajustar os buffers, mas não pode garantir um cenário de queda de saída zero.
É recomendável executar a versão mais recente do 03.06 ou 03.07 para obter alocações de buffer apropriadas devido a alguns bugs conhecidos em códigos mais antigos.
Tradicionalmente, os buffers são alocados estaticamente para cada fila e, à medida que você aumenta o número de filas, a quantidade de buffers reservados diminui. Isso é ineficiente e pode esgotar o número de buffers necessários para manipular quadros para todas as filas. Para contornar esse tipo de limitação, a plataforma Catalyst 3650/3850 usa buffers Hard e Soft.
Alocação de buffer padrão sem política de serviço aplicada
A alocação de buffer padrão para uma porta de 1 GB é de 300 buffers e para uma porta de 10 GB é de 1.800 buffers (1 buffer = 256 bytes). A porta pode usar até 400% do padrão alocado do pool comum com configurações padrão, que são 1200 buffers e 7200 buffers para a interface de 1 Gig e a interface de 10 Gig, respectivamente.
O limite de soft buffer padrão é definido como 400 (que é o limite máximo). O limite determina o número máximo de buffers soft que podem ser emprestados do pool comum.
Quando nenhuma política de serviço é aplicada, há duas filas padrão (fila 0 e fila 1). A fila 0 é usada para tráfego de controle (DSCP 32, 48 ou 56) e a fila 1 é usada para tráfego de dados.
Por padrão, a fila 0 pode receber 40% dos buffers que estão disponíveis para a interface como seus buffers rígidos. Ou seja, 120 buffers são alocados para a fila 0 no contexto de portas 1G; 720 buffers no contexto de portas 10G. O Softmax, o máximo de buffers de software, para essa fila é definido como 480 (calculado como 400% de 120) para portas de 1 GB e 2880 para portas de 10 GB, onde 400 é o limite máximo padrão configurado para qualquer fila.
A fila 1 não tem nenhum buffer rígido alocado. O valor do buffer de software para a fila 1 é calculado como 400% do buffer de interface que permanece depois de ser alocado para a fila 0. Portanto, é 400% de 180 para a interface de 1 Gig e 400% de 1800 para uma interface de 10 Gig.
O show comando que pode ser usado para ver essa alocação é
show platform qos queue config <interface>.
Para uma interface de 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 uma interface 10Gig:
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 ou Hard Buffers é a quantidade de Buffer que está sempre reservada e disponível para essa fila.
Softmax ou Soft Buffers é a quantidade de buffer que pode ser emprestada de outras filas ou pool global. O número total de Softmax por interface de 1Gig é de 1200 (400% de 300) e 7200 buffers se for uma interface de 10Gig. Quando aplicamos uma política de serviço, pode haver 1 fila extra criada para "Padrão de classe" se não for explicitamente criada. Todo o tráfego que não corresponder sob as classes definidas anteriormente se enquadra nessa fila. Não pode haver nenhuma instrução correspondente nesta fila.
Alocação de Buffer de Ajuste
Para ajustar os buffers na plataforma 3650/3850, anexe uma política de serviço na respectiva interface. Você pode ajustar a alocação de buffer Hardmax e Softmax com a política de serviço.
Cálculos de Buffer Rígido e de Buffer Suave
É assim que o sistema aloca Hardmax e Softmax para cada fila:
Total de buffer de porta = 300 (1G) ou 1800 (10G)
Se houver um total de 5 filas (5 classes), cada fila receberá 20% de buffer por padrão.
priority queue
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 1.800 = 360
qsoftMax = (Oper_Buff * Max_Threshold)/100 = 360*400/100= 1440
Fila sem prioridade
1 Gig:
HardMax = 0
qSoftMax = (Oper_Buffer*Max_Threshold)/100 = 300*20/100= 60. 400% 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 serviço para alocação de buffer hardmax ou Softmax
se uma política de serviço for aplicada, somente a "fila de prioridade com nível 1/2" obterá o Hardmax. Os próximos exemplos podem ajudar a esclarecer a alocação de buffer para a política de serviço específica na interface de 1 Gig e na interface de 10 Gig. Com a configuração padrão que não tem nenhuma política de serviço aplicada, a fila 0 obtém o Hardmax padrão de 120 se o link for um link de 1Gig e 720 buffers se o link for um link de 10Gig.
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>>
Exemplo 1
Ao aplicar uma política de serviço, se você não configurar uma fila de prioridade ou se não definir um nível de fila de prioridade, não poderá haver nenhum Hardmax atribuído a essa fila.
Para uma interface de 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 uma interface 10Gig:
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>>
Exemplo 2
Quando você aplica o nível de prioridade 1, a fila 0 recebe 60 buffers como Hardmax.
Para uma interface de 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 uma interface 10Gig:
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>>
Exemplo 3
Para este exemplo, uma classe extra é adicionada. O número total de filas torna-se 6. Com 2 níveis de prioridade configurados, cada fila recebe 51 buffers como Hardmax. A matemática é a mesma do exemplo anterior.
Para a interface 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 uma interface 10Gig:
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>>
Observação: pode haver menos buffers alocados para poucas filas. Isso é esperado porque os valores que não podem se ajustar no cálculo de Softmax para fila de prioridade e fila de não prioridade enquanto certas configurações são combinadas.
Em resumo, quanto mais filas você criar, menos buffers cada fila obterá em termos de Hardmax e Softmax (como Hardmax também depende do valor Softmax).
A partir das versões 3.6.3 ou 3.7.2, o valor máximo de Softmax pode ser modificado com o comando
qos queue-softmax-multiplier 1200 CLI com 100 como valor padrão. Se configurado como 1200, o Softmax para filas não prioritárias e fila de prioridade não primária (!=nível 1) será multiplicado por 12 de seus valores padrão. Esse comando teria efeito somente nas portas onde um mapa de política está anexado. Também não é aplicável para o nível de fila de prioridade 1.
Use a política de serviço para alterar manualmente o valor do buffer Softmax
Exemplo 1
Esta é a configuração da política de serviço e a alocação de buffer correspondente:
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>>
Os buffers são divididos igualmente entre as filas. Se você usar o comando bandwidth, somente o peso será alterado para cada fila e como o agendador age nela.
Para ajustar o valor de Softmax, você deve usar o queue-buffer ratio comando na respectiva classe.
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 são as novas alocações de buffer.
Para a interface 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
A fila 1 recebe 50% do buffer suave, ou seja, 600 buffers. O restante dos buffers são alocados para as outras filas de acordo com o algoritmo.
Uma saída semelhante para uma interface de 10Gig é:
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>>
Observação: pode haver menos buffers alocados para algumas filas. Isso é esperado, pois os valores não podem se ajustar ao cálculo de Softmax para fila de prioridade e fila de não prioridade quando determinadas configurações são combinadas. Há um algoritmo interno que cuida dele.
Exemplo 2
Aloque todo o buffer Softmax para a fila padrão única.
Você pode ver menos buffers alocados para algumas filas. Isso é esperado, pois os valores não podem se ajustar ao cálculo de Softmax para fila de prioridade e fila de não prioridade quando determinadas combinações são configuradas. Há um algoritmo interno que cuida dele. Pode haver menos buffers alocados para poucas filas. Isso é esperado, pois os valores não podem se ajustar ao cálculo de Softmax para fila de prioridade e fila de não prioridade quando determinadas combinações são configuradas. Há um algoritmo interno que cuida dele.
policy-map NODROP class class-default bandwidth percent 100 queue-buffers ratio 100
Os resultados da configuração de QoS são:
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
Não há buffer Hardmax, pois a política é aplicada a uma interface e não tem nenhuma fila de prioridade com "nível" definido. Assim que você aplicar o mapa de políticas, a segunda fila será desativada e deixará apenas 1 fila no sistema.
A advertência aqui é que todos os pacotes usam essa fila única (que inclui os pacotes de controle como OSPF/EIGRP/STP). Quando há congestionamento (tempestade de broadcasts), isso pode facilmente causar interrupção na rede. Isso também ocorrerá se outras classes tiverem sido definidas para os pacotes de controle correspondentes.
Estudo de caso: Quedas de saída
Para este teste, o gerador de tráfego IXIA é conectado à interface de 1Gig e a porta de saída é a interface de 100Mbps. Essa é uma conexão de 1 Gbps a 100 Mbps e um burst de 1 Gig de pacotes é enviado por 1 segundo. Isso pode causar queda de saída na interface de saída de 100 mbps. Com a configuração padrão (nenhuma política de serviço aplicada), este é o número de quedas de saída depois que 1 é enviado:
3850#show interfaces gig1/0/1 | in output drop Input queue: 0/2000/0/0 (size/max/drops/flushes); Total output drops: 497000
Essas quedas são vistas em Th2, que é o limite padrão. Por padrão, o sistema pode usar o limiar máximo como limiar de queda, que é 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
Depois disso, configure esta política de serviço para ajustar o 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
Os descartes foram reduzidos de 497000 para 385064 para a mesma intermitência de tráfego. Ainda assim, ainda há gotas. Depois disso, configure
qos queue-softmax-multiplier 1200 global config o 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
O Softmax para queue-0 pode chegar a 10.000 buffers e, como resultado, as quedas são Zero.
Observação: esse tipo de cenário não é possível, pois outras interfaces também podem usar o buffer, mas isso pode definitivamente ajudar a reduzir as quedas de pacotes para um determinado nível.
O buffer flexível máximo disponível para uma interface pode ser aumentado com esse comando, no entanto, você também deve ter em mente que ele estará disponível somente se nenhuma outra interface usar esses buffers.
Summary
1. Ao criar mais filas, você obtém menos buffer para cada fila.
2. O número total de buffers disponíveis pode ser aumentado com o qos queue-softmax-multiplier <value>comando.
3. Se você definir apenas 1 class-default, para ajustar o buffer, todo o tráfego ficará sob a fila única (que inclui pacotes de controle). Lembre-se de que quando todo o tráfego é colocado em uma fila, não há classificação entre o controle e o tráfego de dados e, durante o tempo de congestionamento, o tráfego de controle pode ser descartado. Portanto, é recomendável criar pelo menos uma outra classe para o tráfego de controle. Os pacotes de controle gerados pela CPU sempre vão para a primeira fila de prioridade, mesmo que não correspondam no mapa de classe. Se não houver fila de prioridade configurada, ele irá para a primeira fila da interface, que é queue-0.
4. Antes do bug da Cisco ID CSCuu14019, as interfaces não exibiriam os contadores de "queda de saída". você tem que executar a show platform qos queue stats saída para verificar se há quedas.
5. Uma solicitação de aprimoramento, ID de bug Cisco CSCuz8625 , foi enviada para permitir que configurássemos o multiplicador soft-max sem o uso de qualquer política de serviço. (Resolvido na versão 3.6.6 e posteriores)
Informações Relacionadas
Revisão | Data de publicação | Comentários |
---|---|---|
6.0 |
04-Dec-2023 |
Recertificação |
4.0 |
02-Dec-2022 |
URL adicionada para Troubleshoot Output Drops em Switches Catalyst 9000 que podem ser usados para 3850 executando 16.x.x e software posterior |
1.0 |
28-Jul-2016 |
Versão inicial |