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 como monitorar o desempenho do iftask/NPU no QvPC-DI.
A informação neste documento é baseada no QvPC-DI.
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.
o iftask é um processo no QvPC-DI. Permite a funcionalidade plana do jogo do desenvolvimento dos dados (DPDK) no cartão virtual da função de serviço (SF) e no cartão virtual da função de controle (CF) para as portas de rede DI e as portas do serviço. DPDK é uma maneira de mais eficiente de segurar o entrada/saída em ambientes virtualizados.
Os driveres de dispositivo dos controladores da relação de rede de alto desempenho (NIC) são movidos agora para o userspace, isso evitam o Switches caro do contexto (userspace/kernelspace).
Os direcionadores executados no modo un-interruptable no userspace, e as linhas têm de acesso direto às filas do HW/bufferes do anel nestes driveres NIC.
A documentação sobre a arquitetura está disponível em:
Presta serviços de manutenção ultra à introdução da plataforma (USP) ultra do Guia de Administração de Sistema da plataforma do gateway.
Disponibilidade para versões diferentes.
A arquitetura detalhada do iftask (para o SF) é considerada neste diagrama:
Durante o desenvolvimento, a certa quantidade de unidades de processamento central virtuais (vCPU) é atribuída estaticamente ao processo do iftask. Isto reduz a quantidade de núcleos para aplicativos do userspace (sessmgr etc.), mas aumenta extremamente o desempenho do I/o.
Esta atribuição é feita através do parâmetro abaixo nesse molde param.cfg que é associado com cada SF/CF durante o desenvolvimento:
O comando da “iftask do hardware da nuvem mostra” dá mais detalhes sobre este em seu desenvolvimento QVPC-DI:
[local]UGP# show cloud hardware iftask Card 1: Total number of cores on VM: 8 Number of cores for PMD only: 0 Number of cores for VNPU only: 0 Number of cores for PMD and VNPU: 2 <-- CF: 2 out of 8 cores are assigned to iftask PMD/VNPU Number of cores for MCDMA: 0 <-- CF: no cores allocated to MCDMA as there is no sessmgr process on CF Number of cores for Crypto: 0 Hugepage size: 2048 kB Total hugepages: 3670016 kB NPUSHM hugepages: 0 kB CPU flags: avx sse sse2 ssse3 sse4_1 sse4_2 Poll CPU's: 1 2 KNI reschedule interval: 5 us ... Card 3: Total number of cores on VM: 8 Number of cores for PMD only: 0 Number of cores for VNPU only: 0 Number of cores for PMD and VNPU: 2 <-- SF: 2 out of 8 core are assigned to iftask PMD/VNPU
Number of cores for MCDMA: 1 <-- SF: 1 out of 8 cores is assigned to iftak MCDMA
Number of cores for Crypto: 0
Hugepage size: 2048 kB
Total hugepages: 4718592 kB
NPUSHM hugepages: 0 kB
CPU flags: avx sse sse2 ssse3 sse4_1 sse4_2
Poll CPU's: 1 2 3
KNI reschedule interval: 5 us
O comando da “configuração da nuvem mostra” dará mais detalhes nos parâmetros usados:
[local]UGP# show cloud configuration Card 1: Config Disk Params: ------------------------- CARDSLOT=1 CPUID=0 CARDTYPE=0x40010100 DI_INTERFACE=BOND:TYPE:ixgbevf-1,TYPE:ixgbevf-2 DI_INTERFACE_VLANID=2111 VNFM_INTERFACE=MAC:fa:16:3e:23:aa:e9 VNFM_PROXY_ADDRS=172.16.180.3,172.16.180.5,172.16.180.6 MGMT_INTERFACE=MAC:fa:16:3e:87:23:9b VNFM_IPV4_ENABLE=true VNFM_IPV4_DHCP_ENABLE=true Local Params: ------------------------- CARDSLOT=1 CARDTYPE=0x40010100 CPUID=0 ... Card 3: Config Disk Params: ------------------------- CARDSLOT=3 CPUID=0 CARDTYPE=0x42030100 DI_INTERFACE=BOND:TYPE:ixgbevf-1,TYPE:ixgbevf-2 SERVICE1_INTERFACE=BOND:TYPE:ixgbevf-3,TYPE:ixgbevf-4 SERVICE2_INTERFACE=BOND:TYPE:ixgbevf-5,TYPE:ixgbevf-6 DI_INTERFACE_VLANID=2111 VNFM_INTERFACE=MAC:fa:16:3e:29:c6:b7 IFTASK_CORES=30 VNFM_IPV4_ENABLE=true VNFM_IPV4_DHCP_ENABLE=true Local Params: ------------------------- CARDSLOT=3 CARDTYPE=0x42010100 CPUID=0
O processo do iftask pode ser monitorado em diversas maneiras.
Consolide a lista de comandos show:
show subscribers data-rate show npumgr dinet utilization pps show npumgr dinet utilization pps show cloud monitor di-network summary show cloud hardware iftask show cloud configuration show iftask stats summary show port utilization table show npu utilization table show npumgr utilization information show processes cpu
A informação processador central do #show do comando verboso não dará a informação sobre os núcleos do iftask. Estarão sempre listados na utilização de 100%.
No exemplo abaixo, o núcleo 1,2,3 é associado com o iftask, e está listado na utilização de 100%, isto é esperado.
Card 3, CPU 0: Status : Standby, Kernel Running, Tasks Running Load Average : 3.12, 3.12, 3.13 (3.95 max) Total Memory : 16384M Kernel Uptime : 4D 21H 56M Last Reading: CPU Usage All : 1.9% user, 0.3% sys, 0.0% io, 0.0% irq, 97.8% idle Core 0 : 5.8% user, 0.2% sys, 0.0% io, 0.0% irq, 94.0% idle Core 1 : Not Averaged (Poll CPU) Core 2 : Not Averaged (Poll CPU) Core 3 : Not Averaged (Poll CPU) Core 4 : 2.2% user, 0.2% sys, 0.0% io, 0.0% irq, 97.6% idle Core 5 : 0.8% user, 0.5% sys, 0.0% io, 0.0% irq, 98.7% idle Core 6 : 0.4% user, 0.5% sys, 0.0% io, 0.0% irq, 99.1% idle Core 7 : 0.1% user, 0.3% sys, 0.0% io, 0.0% irq, 99.6% idle Poll CPUs : 3 (1, 2, 3) Core 1 : 100.0% user, 0.0% sys, 0.0% io, 0.0% irq, 0.0% idle Core 2 : 100.0% user, 0.0% sys, 0.0% io, 0.0% irq, 0.0% idle Core 3 : 100.0% user, 0.0% sys, 0.0% io, 0.0% irq, 0.0% idle Processes / Tasks : 143 processes / 16 tasks Network mcdmaN : 0.002 kpps rx, 0.001 mbps rx, 0.002 kpps tx, 0.001 mbps tx File Usage : 1504 open files, 1627405 available Memory Usage : 7687M 46.9% used Memory Details: Static : 330M kernel, 144M image System : 10M tmp, 0M buffers, 54M kcache, 79M cache Process/Task : 6963M (120M small, 684M huge, 6158M other) Other : 104M shared data Free : 8696M free Usable : 5810M usable (8696M free, 0M reclaimable, 2885M reserved by tasks)
A tabela da utilização do npu do #show do comando dará um bom sumário na utilização de cada núcleo associado com o processo do iftask (em cada cartão).
Nota: Importante é aqui identificar se alguns núcleos são consistentemente mais altos na utilização do que outros núcleos.
[local]UGP# show npu utilization table -------iftask------- lcore now 5min 15min -------- ------ ------ ------ 01/0/1 0% 0% 0% 01/0/2 0% 0% 0% 02/0/1 0% 0% 0% 02/0/2 2% 1% 0% 03/0/1 0% 0% 0% 03/0/2 0% 0% 0% 03/0/3 0% 0% 0% 04/0/1 0% 0% 0% 04/0/2 0% 0% 0% 04/0/3 0% 0% 0% 05/0/1 0% 0% 0% 05/0/2 0% 0% 0% 05/0/3 0% 0% 0%
Informação de utilização do npumgr do #show do comando (comando oculto)
Este comando dá mais informação sobre cada núcleo do iftask, e o que está consumindo o CPU nestes núcleos.
Nota: Os núcleos PMD estão tendo seu CPU consumido em PortRX, PortTX, KNI, cifra.
Nota: Os núcleos MCDMA estão tendo seu CPU consumido por MCDMA.
Os núcleos PMD e MCDMA têm mesmo a carga.
Se tal não for o caso, alguns que ajustam puderam ser exigidos (atribuir mais/menos MDMA retira o núcleo por exemplo).
******** show npumgr utilization information 3/0/0 ******* 5-Sec Avg: lcore01| lcore02| lcore03| lcore04| lcore05| lcore06| lcore07| lcore08| lcore09| lcore10| lcore11| lcore12| Idle: 41%| 47%| 73%| 62%| 48%| 49%| 69%| 71%| 49%| 64%| 48%| 69%| PortRX: 32%| 36%| 0%| 0%| 0%| 0%| 31%| 29%| 0%| 0%| 0%| 31%| PortTX: 16%| 18%| 0%| 0%| 0%| 0%| 0%| 0%| 0%| 0%| 0%| 0%| KniRX: 3%| 0%| 0%| 0%| 0%| 0%| 0%| 0%| 0%| 0%| 0%| 0%| McdmaRX: 0%| 0%| 11%| 15%| 22%| 21%| 0%| 0%| 20%| 14%| 20%| 0%| Mcdma: 0%| 0%| 1%| 2%| 3%| 2%| 0%| 0%| 3%| 3%| 3%| 0%| McdmaFlush: 0%| 0%| 15%| 21%| 27%| 27%| 0%| 0%| 27%| 18%| 28%| 0%| Cipher: 7%| 0%| 0%| 0%| 0%| 0%| 0%| 0%| 0%| 0%| 0%| 0%| rx kbits/sec: 173914| 257249| 248543| 224081| 319973| 299437| 450992| 380112| 391400| 325099| 355809| 399515| rx frames/sec: 30557| 36549| 37465| 32560| 46914| 43938| 70711| 54818| 58482| 47462| 53477| 58793| tx kbits/sec: 169641| 251958| 253930| 228760| 326714| 305750| 440773| 372187| 399806| 331914| 363491| 391002| tx frames/sec: 30551| 36524| 37465| 32560| 46914| 43938| 70681| 54785| 58483| 47462| 53477| 58749| 5-Min Avg: lcore01| lcore02| lcore03| lcore04| lcore05| lcore06| lcore07| lcore08| lcore09| lcore10| lcore11| lcore12| Idle: 18%| 36%| 60%| 62%| 46%| 45%| 65%| 62%| 44%| 53%| 39%| 65%| PortRX: 29%| 45%| 0%| 0%| 0%| 0%| 35%| 38%| 0%| 0%| 0%| 35%| PortTX: 17%| 20%| 0%| 0%| 0%| 0%| 0%| 0%| 0%| 0%| 0%| 0%| KniRX: 3%| 0%| 0%| 0%| 0%| 0%| 0%| 0%| 0%| 0%| 0%| 0%| Kni: 1%| 0%| 0%| 0%| 0%| 0%| 0%| 0%| 0%| 0%| 0%| 0%| McdmaRX: 0%| 0%| 17%| 17%| 23%| 24%| 0%| 0%| 24%| 19%| 26%| 0%| Mcdma: 0%| 0%| 2%| 2%| 3%| 3%| 0%| 0%| 4%| 3%| 4%| 0%| McdmaFlush: 0%| 0%| 21%| 20%| 28%| 28%| 0%| 0%| 28%| 24%| 30%| 0%| Cipher: 32%| 0%| 0%| 0%| 0%| 0%| 0%| 0%| 0%| 0%| 0%| 0%| rx kbits/sec: 217296| 297699| 261605| 268546| 389380| 397101| 479195| 528945| 438931| 360583| 454262| 468575| rx frames/sec: 39194| 42022| 40122| 40086| 58217| 59507| 80931| 76094| 67224| 54592| 68565| 67013| tx kbits/sec: 211773| 291616| 267373| 274308| 397747| 405655| 467493| 517944| 448590| 368412| 464116| 458868| tx frames/sec: 39182| 41998| 40122| 40086| 58217| 59507| 80895| 76058| 67224| 54592| 68565| 66973| 15-Min Avg: lcore01| lcore02| lcore03| lcore04| lcore05| lcore06| lcore07| lcore08| lcore09| lcore10| lcore11| lcore12| Idle: 22%| 37%| 60%| 61%| 45%| 46%| 64%| 64%| 44%| 49%| 41%| 66%| PortRX: 33%| 43%| 0%| 0%| 0%| 0%| 36%| 36%| 0%| 0%| 0%| 34%| PortTX: 18%| 20%| 0%| 0%| 0%| 0%| 0%| 0%| 0%| 0%| 0%| 0%| KniRX: 4%| 0%| 0%| 0%| 0%| 0%| 0%| 0%| 0%| 0%| 0%| 0%| McdmaRX: 0%| 0%| 16%| 16%| 24%| 24%| 0%| 0%| 24%| 22%| 25%| 0%| Mcdma: 0%| 0%| 2%| 2%| 3%| 3%| 0%| 0%| 4%| 4%| 4%| 0%| McdmaFlush: 0%| 0%| 21%| 20%| 28%| 28%| 0%| 0%| 28%| 26%| 30%| 0%| Cipher: 23%| 0%| 0%| 0%| 0%| 0%| 0%| 0%| 0%| 0%| 0%| 0%| rx kbits/sec: 225682| 297062| 267631| 272770| 419821| 405286| 489633| 511100| 476834| 401810| 467134| 466549| rx frames/sec: 39670| 42772| 40892| 40834| 62740| 61170| 83540| 76519| 72158| 60242| 70707| 67961| tx kbits/sec: 220089| 290875| 273510| 278639| 428840| 414080| 477557| 500037| 487201| 410421| 477298| 456711| tx frames/sec: 39657| 42748| 40892| 40834| 62740| 61170| 83504| 76484| 72158| 60242| 70707| 67925| @ tick 896633 (+ve-skew-cnt=123633, -ve-skew-cnt=0), failed samples 0
Comanda a utilização pps do dinet do npumgr do #show, os bbps da utilização do dinet do npumgr do #show e a tabela da utilização de porta do #show
Fornecem a informação sobre a carga no DI porta, e as portas dos serviços.
O desempenho real depende da atribuição NIC's/CPU e CPU ao iftask.
[local]UGP# show npumgr dinet utilization pps ------ Average DINet Port Utilization (in kpps) ------ Port Type Current 5min 15min Rx Tx Rx Tx Rx Tx ----- ------------------------ ------- ------- ------- ------- ------- ------- 1/0 Virtual Ethernet 0 0 0 0 0 0 2/0 Virtual Ethernet 0 0 0 0 0 0 3/0 Virtual Ethernet 0 0 0 0 0 0 4/0 Virtual Ethernet 0 0 0 0 0 0 5/0 Virtual Ethernet 0 0 0 0 0 0
[local]UGP# show npumgr dinet utilization bps ------ Average DINet Port Utilization (in mbps) ------ Port Type Current 5min 15min Rx Tx Rx Tx Rx Tx ----- ------------------------ ------- ------- ------- ------- ------- ------- 1/0 Virtual Ethernet 1 1 1 1 1 1 2/0 Virtual Ethernet 1 0 1 0 1 0 3/0 Virtual Ethernet 0 0 0 0 0 0 4/0 Virtual Ethernet 0 0 0 0 0 0 5/0 Virtual Ethernet 0 0 0 0 0 0
[local]UGP# show port utilization table ------ Average Port Utilization (in mbps) ------ Port Type Current 5min 15min Rx Tx Rx Tx Rx Tx ----- ------------------------ ------- ------- ------- ------- ------- ------- 1/1 Virtual Ethernet 0 0 0 0 0 0 2/1 Virtual Ethernet 0 0 0 0 0 0 3/10 Virtual Ethernet 0 0 0 0 0 0 3/11 Virtual Ethernet 0 0 0 0 0 0 4/10 Virtual Ethernet 0 0 0 0 0 0 4/11 Virtual Ethernet 0 0 0 0 0 0 5/10 Virtual Ethernet 0 0 0 0 0 0 5/11 Virtual Ethernet 0 0 0 0 0 0
Sumário da di-rede do monitor da nuvem do #show do comando
Este comando monitora a saúde do DI rede. Os cartões estão enviando pulsação do coração entre si, e a perda é monitorada. Em um sistema saudável, nenhuma perda é relatada.
[local]UGP# show cloud monitor di-network summary Card 3 Heartbeat Results: ToCard Health 5MinLoss 60MinLoss 1 Good 0.00% 0.00% 2 Good 0.00% 0.00% 4 Good 0.00% 0.00% 5 Good 0.00% 0.00% Card 4 Heartbeat Results: ToCard Health 5MinLoss 60MinLoss 1 Good 0.00% 0.00% 2 Good 0.00% 0.00% 3 Good 0.00% 0.00% 5 Good 0.00% 0.00% Card 5 Heartbeat Results: ToCard Health 5MinLoss 60MinLoss 1 Good 0.00% 0.00% 2 Good 0.00% 0.00% 3 Good 0.00% 0.00% 4 Good 0.00% 0.00%
Sumário stats do iftask do #show do comando
Com cargas mais altas NPU, pôde ser possível que o tráfego está obtendo deixado cair.
Para avaliar isto, as saídas de sumário stats do iftask do #show do comando podem ser tomadas.
Nota: Os DESCARTES podem ser diferente de zero.
Nota: todos contadores restantes não devem incrementar.
[local]VPC# show iftask stats summary^M Thursday January 18 16:01:29 IST 2018 ----------------------------------------------------------------------------------------------- Counter SF3 SF4 SF5 SF6 SF7 SF8 SF9 SF10 SF11 SF12 ___TOTAL___ ------------------------------------------------------------------------------------------------ svc_rx 32491861127 16545600654 37041906441 37466889835 32762859630 34931554543 38861410897 16025531220 33566817747 32823851780 312518283874 svc_tx 46024774071 14811663244 40316226774 39926898585 40803541378 48718868048 35252698559 1738016438 4249156512 40356388348 312198231957 di_rx 42307187425 14637310721 40072487209 39584697117 41150445596 44534022642 31867253533 1731310419 4401095653 40711142205 300996952520 di_tx 28420090751 16267050562 36423298668 36758561246 32731606974 30366650898 35201117980 16009902791 33536789041 32815316570 298530385481 __ALL_DROPS__ 1932492 252 17742 790473 11228 627018 844812 60402 0 460830 4745249 svc_tx_drops 0 0 0 0 0 0 0 0 0 0 0 di_rx_drops 0 1 0 0 49 113 579 30200 0 4888 35830 di_tx_drops 0 0 0 0 0 0 0 0 0 0 0 sw_rss_enq_drops 0 0 0 0 0 0 0 0 0 0 0 kni_thread_drops 0 0 0 0 0 0 0 0 0 0 0 kni_drops 0 1 0 0 0 0 124 30200 0 0 30325 mcdma_drops 0 0 0 168 80 194535 758500 0 0 11628 964911 mux_deliver_hop_drops 0 0 0 0 0 0 0 0 0 1019 1019 mux_deliver_drops 0 0 0 0 0 0 0 0 0 0 0 mux_xmit_failure_drops 0 3 0 0 0 0 7 2 0 0 12 mc_dma_thread_enq_drops 0 0 0 0 49 113 580 0 0 3457 4199 sw_tx_egress_enq_drops 1904329 0 0 787971 9004 429214 85022 0 0 429810 3645350 cpeth0_drops 0 0 0 0 0 0 0 0 0 0 0 mcdma_summary_drops 28163 247 17742 2334 2046 3043 0 0 0 10028 63603 fragmentation_err 0 0 0 0 0 0 0 0 0 0 0 reassembly_err 0 0 0 0 0 0 0 0 0 0 0 reassembly_ring_enq_err 0 0 0 0 0 0 0 0 0 0 0 __DISCARDS__ 20331090 9051092 23736055 23882896 23807520 24231716 24116576 8944291 22309474 20135799 20135799
O esquema de Bulkstat é desenvolvido para o desempenho QPVC-DI relativo a iftask/dinet. Isto é útil para monitorar o dinet, as portas do serviço, e a utilização do npu de uma perspectiva do desempenho/carga:
card schema iftask-dinet format EMS,IFTASKDINET,%date%,%time%,%dinet-rxpkts-curr%,%dinet-txpkts-curr%,%dinet-rxpkts-5minave%,%dinet-txpkts-5minave%,%dinet-rxpkts-15minave%,%dinet-txpkts-15minave%,%dinet-txdrops-curr%,%dinet-txdrops-5minave%,%dinet-txdrops-15minave%,%npuutil-now% file 2 port schema iftask-port format EMS,IFTASKPORT,%date%,%time%,%util-rxpkts-curr%,%util-txpkts-curr%,%util-rxpkts-5min%,%util-txpkts-5min%,%util-rxpkts-15min%,%util-txpkts-15min%,%util-txdrops-curr%,%util-txdrops-5min%,%util-txdrops-15min% file 3 card schema npu-util format EMS,NPUUTIL,%date%,%time%,%npuutil-now%,%npuutil-5minave%,%npuutil-15minave%,%npuutil-rxbytes-5secave%,%npuutil-txbytes-5secave%,%npuutil-rxbytes-5minave%,%npuutil-txbytes-5minave%,%npuutil-rxbytes-15minave%,%npuutil-txbytes-15minave%,%npuutil-rxpkts-5secave%,%npuutil-txpkts-5secave%,%npuutil-rxpkts-5minave%,%npuutil-txpkts-5minave%,%npuutil-rxpkts-15minave%,%npuutil-txpkts-15minave%