Inhalt

Einführung

Verwendete Komponenten

Iftask-Architektur

Überwachung der Bittstellleistung

Bulkstats

Einführung

In diesem Dokument wird beschrieben, wie die Leistung von iftask/NPU auf QvPC-DI überwacht wird.

Verwendete Komponenten

Die Informationen in diesem Dokument basieren auf QvPC-DI.

Die Informationen in diesem Dokument wurden von den Geräten in einer bestimmten Laborumgebung erstellt. Alle in diesem Dokument verwendeten Geräte haben mit einer leeren (Standard-)Konfiguration begonnen. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die potenziellen Auswirkungen eines Befehls verstehen.

Iftask-Architektur

iftask ist ein Prozess in QvPC-DI. Sie ermöglicht die Funktionalität des Data Plane Development Kit (DPDK) auf der Service Function Virtual Card (SF) und der Control Function Virtual Card (CF) für die DI-Netzwerkports und die Service-Ports. DPDK ist eine effizientere Methode für die Ein- und Ausgabe in virtualisierten Umgebungen.

Die Gerätetreiber von Hochleistungs-Netzwerkschnittstellen-Controllern (NIC) werden jetzt in den Userspace verschoben, wodurch teure Kontextswitches (Userspace/Kernelspace) vermieden werden.

Die Treiber werden im Userspace im ununterbrochenen Modus ausgeführt, und Threads haben direkten Zugriff auf die HW-Warteschlangen/Ringpuffer in diesen NIC-Treibern.

Dokumentation zur Architektur finden Sie unter:

USP (Ultra Services Platform) - Einführung aus dem Ultra Gateway Platform System Administration Guide.

Verfügbarkeit für verschiedene Versionen.

In diesem Diagramm wird eine detaillierte Iftask-Architektur (für SF) veranschaulicht:

Während der Bereitstellung wird dem Iftask-Prozess eine bestimmte Anzahl von virtuellen zentralen Verarbeitungseinheiten (vCPUs) statisch zugewiesen. Dadurch wird die Anzahl der Cores für die Userspace-Anwendungen (sessmgr usw.) reduziert, die E/A-Leistung wird jedoch erheblich gesteigert.

Diese Zuweisung erfolgt mithilfe des folgenden Parameters in der param.cfg-Vorlage, die während der Bereitstellung jeder SF/CF zugeordnet ist:

- IFTASK_CORES (% der verfügbaren Kerne, die mit einem Iftask zugewiesen werden sollen)

- (IFTASK_CRYPTO_CORES - wird hier nicht behandelt.)

- (IFTASK_MCDMA_CORES - hier nicht besprochen)

1. Bei einem SF verteilt der Iftask-Prozess die zugewiesenen Kerne intern an:

- Umfrage-Modus-Treiber (PMD) vCPUs (führen tx/rx/vnpu-Aktivität durch)

- MCDMA-vCPUs, bei der Paketübertragung von Iftask zu Sessmgr und Back

2. Auf einem CF sind keine MCDMA-vCPUs erforderlich, da SFs keine sessmgr-Prozesse hosten.

Der Befehl "show cloud hardware iftask" enthält weitere Informationen zu dieser QVPC-DI-Bereitstellung:

[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

Der Befehl "show cloud configuration" enthält weitere Details zu den verwendeten Parametern:

[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

Überwachung der Bittstellleistung

Der Iftask-Prozess kann auf verschiedene Weise überwacht werden.

Liste der Befehle zum Anzeigen konsolidieren:

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

Command #show cpu info verbose gibt keine Informationen über die iftask-Cores. Sie werden immer bei 100 % Auslastung aufgeführt.

Im folgenden Beispiel sind Core 1,2,3 mit Iftask verknüpft und bei 100 % Auslastung aufgeführt. Dies ist zu erwarten.

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)

Command #show npu-Nutzungstabelle gibt einen guten Überblick über die Auslastung der einzelnen Kerne, die dem Iftask-Prozess zugeordnet sind (auf jeder Karte).

Hinweis: Hierbei ist zu ermitteln, ob einige Kerne durchgehend besser ausgelastet sind als andere.

[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%

Befehl #show npumgr use information (ausgeblendeter Befehl)

Dieser Befehl enthält weitere Informationen zu jedem Iftask-Kern und zu den CPU-Auslastungen dieser Kerne.

Hinweis: Die CPU der PMD-Kerne wird auf PortRX, PortTX, KNI, Cipher verbraucht.

Hinweis: MCDMA-Kerne verbrauchen ihre CPU von MCDMA.

Sowohl PMD- als auch MCDMA-Kerne haben sogar Last.

Ist dies nicht der Fall, kann eine Anpassung erforderlich sein (z. B. Zuweisung von mehr/weniger MDMA-Cores).

******** 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

Befehle #show npumgr dinet use pps, #show npumgr dinet use bps und #show port use table

Sie liefern Informationen über die Auslastung der DI-Ports und der Services-Ports.

Die tatsächliche Leistung hängt von den NICs/CPUs und der CPU-Zuweisung zum Iftask ab.

[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

Befehl #show cloud monitor di-network summary

Mit diesem Befehl wird der Zustand des DI-Netzwerks überwacht. Karten senden einander Herzschläge, und der Verlust wird überwacht. In einem gesunden System wird kein Verlust gemeldet.

[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%

Befehl #show iftask stats summary

Bei höheren NPU-Lasten kann es vorkommen, dass der Datenverkehr verloren geht.

Um dies zu bewerten, kann der Befehl #show iftask stats summary ausgegeben werden.

Hinweis: DISCARDS können nicht null sein.

Hinweis: Alle anderen Zähler sollten nicht inkrementiert werden.

[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

Bulkstats

Das Bulkstat-Schema wurde für QPVC-DI-Performance in Bezug auf Iftask/Dinet entwickelt. Dies ist hilfreich, um das Dinet, die Service-Ports und die NPU-Auslastung hinsichtlich Leistung/Last zu überwachen:

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%