Monitora le prestazioni di rete per le impostazioni ENA sulla tua EC2 istanza - Amazon Elastic Compute Cloud

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Monitora le prestazioni di rete per le impostazioni ENA sulla tua EC2 istanza

Il driver ENA (Elastic Network Adapter) pubblica i parametri delle prestazioni di rete dalle istanze in cui sono attivati. È possibile utilizzare questi parametri per risolvere i problemi relativi alle prestazioni delle istanze, scegliere la dimensione dell'istanza appropriata per un carico di lavoro, pianificare le attività di scalabilità in modo proattivo e confrontare le applicazioni per determinare se massimizzano le prestazioni disponibili in un'istanza.

Amazon EC2 definisce i valori massimi di rete a livello di istanza per garantire un'esperienza di rete di alta qualità, comprese prestazioni di rete costanti per tutte le dimensioni delle istanze. AWS fornisce i valori massimi per quanto segue per ogni istanza:

  • Capacità di larghezza di banda: ogni EC2 istanza ha una larghezza di banda massima per il traffico aggregato in entrata e in uscita, in base al tipo e alle dimensioni dell'istanza. Alcune istanze utilizzano un meccanismo di credito I/O di rete per allocare la larghezza di banda di rete alle istanze in base all'utilizzo medio della larghezza di banda. Amazon dispone EC2 inoltre della larghezza di banda massima per il traffico verso AWS Direct Connect e Internet. Per ulteriori informazioni, consulta Larghezza di banda di rete delle EC2 istanze Amazon.

  • Packet-per-second Prestazioni (PPS): ogni EC2 istanza offre prestazioni PPS massime, in base al tipo e alle dimensioni dell'istanza.

  • Connessioni tracciate: il gruppo di sicurezza tiene traccia di ogni connessione stabilita per garantire che i pacchetti restituiti vengano consegnati come previsto. Per ciascuna istanza esiste un numero massimo di connessioni che possono essere monitorate. Per ulteriori informazioni, consulta Monitoraggio delle connessioni dei gruppi di EC2 sicurezza Amazon

  • Accesso al servizio locale del collegamento: Amazon EC2 fornisce un numero massimo di PPS per interfaccia di rete per il traffico verso servizi come il servizio DNS, l'Instance Metadata Service e il servizio Amazon Time Sync.

Quando il traffico di rete di un'istanza supera un limite massimo, AWS modella il traffico che supera il massimo mettendo in coda e quindi eliminando i pacchetti di rete. Utilizzando i parametri delle prestazioni di rete è possibile monitorare quando il traffico supera un valore massimo. Questi parametri indicano in tempo reale l'impatto sul traffico di rete e i possibili problemi relativi alle prestazioni della rete.

Requisiti

Istanze Linux
  • Installare il driver ENA versione 2.2.10 o successiva. Per verificare la versione installata, utilizzare il comando ethtool. Nell'esempio seguente, la versione soddisfa il requisito minimo.

    [ec2-user ~]$ ethtool -i eth0 | grep version version: 2.2.10

    Per aggiornare il driver ENA, consulta Reti avanzate.

  • Per importare questi parametri su Amazon CloudWatch, installa l' CloudWatch agente. Per ulteriori informazioni, consulta Collect network performance metrics nella Amazon CloudWatch User Guide.

  • Per supportare il parametro conntrack_allowance_available, installare il driver ENA versione 2.8.1.

Istanze Windows
  • Installare il driver ENA versione 2.2.2 o successiva. Per verificare la versione installata, utilizzare Gestione periferiche come segue.

    1. Aprire Gestione periferiche eseguendo devmgmt.msc.

    2. Espandere Network Adapters (Schede di rete).

    3. Scegliere Amazon Elastic Network Adapter (Adattatore di rete elastico di Amazon), quindi Properties (Proprietà).

    4. Nella scheda Driver individuare Driver Version (Versione driver).

    Per aggiornare il driver ENA, consulta Reti avanzate.

  • Per importare questi parametri su Amazon CloudWatch, installa l' CloudWatch agente. Per ulteriori informazioni, consulta Collect advanced network metrics nella Amazon CloudWatch User Guide.

Parametri per il driver ENA

Il driver ENA fornisce i seguenti parametri all'istanza in tempo reale. Questi forniscono il numero complessivo di pacchetti accodati o rilasciati su ciascuna interfaccia di rete dall'ultimo ripristino del driver.

Parametro Descrizione Supportato su
bw_in_allowance_exceeded

Il numero di pacchetti accordati o rilasciati perché la larghezza di banda aggregata in ingresso ha superato il valore massimo per l'istanza.

Tutti i tipi di istanza

bw_out_allowance_exceeded

Il numero di pacchetti accodati o rilasciati perché la larghezza di banda aggregata in uscita ha superato il valore massimo per l'istanza.

Tutti i tipi di istanza

conntrack_allowance_exceeded

Il numero di pacchetti accodati o rilasciati perché il rilevamento delle connessioni ha superato il valore massimo per l'istanza e non è stato possibile stabilire nuove connessioni. Ciò può comportare la perdita di pacchetti per il traffico da o verso l'istanza.

Tutti i tipi di istanza

conntrack_allowance_available Il numero di connessioni tracciate che possono essere stabilite dall'istanza prima di raggiungere il limite Connessioni tracciate di quel tipo di istanza.

Solo istanze basate su Nitro

linklocal_allowance_exceeded

Il numero di pacchetti accodati o rilasciati perché il PPS del traffico verso i servizi proxy locali ha superato il valore massimo per l'interfaccia di rete. Ciò influisce sul traffico verso il servizio DNS, il servizio di metadati dell'istanza e il servizio Amazon Time Sync.

Tutti i tipi di istanza

pps_allowance_exceeded

Il numero di pacchetti accodati o rilasciati perché il PPS bidirezionale ha superato il valore massimo per l'istanza. Questo limite conta anche le perdite di Egress Fragment (frammenti in uscita) che superano i 1024 PPS per ENI.

Tutti i tipi di istanza

Visualizzare i parametri delle prestazioni di rete per l'istanza

La procedura utilizzata dipende dal sistema operativo dell'istanza.

È possibile pubblicare parametri negli strumenti preferiti per visualizzare i dati dei parametri. Ad esempio, puoi pubblicare le metriche su Amazon CloudWatch utilizzando l' CloudWatch agente. L'agente consente di selezionare singoli parametri e di controllare la pubblicazione.

Inoltre, è possibile utilizzare ethtool per recuperare i parametri per ogni interfaccia di rete, ad esempio eth0, come indicato di seguito.

[ec2-user ~]$ ethtool -S eth0 bw_in_allowance_exceeded: 0 bw_out_allowance_exceeded: 0 pps_allowance_exceeded: 0 conntrack_allowance_exceeded: 0 linklocal_allowance_exceeded: 0 conntrack_allowance_available: 136812

È possibile visualizzare i parametri utilizzando qualsiasi consumer di contatori delle prestazioni di Windows. I dati possono essere analizzati in base al manifesto. EnaPerfCounters Si tratta di un file XML che definisce il fornitore del contatore delle prestazioni e i relativi set di contatori.

Per installare il manifesto

Se l'istanza è stata avviata utilizzando una AMI contenente il driver ENA 2.2.2 o versione successiva, o si è utilizzato lo script di installazione nel pacchetto driver per il driver ENA 2.2.2, il manifest è già installato. Per installare manualmente il manifest, attenersi alla seguente procedura:

  1. Rimuovere il manifest esistente utilizzando il seguente comando:

    unlodctr /m:EnaPerfCounters.man
  2. Copiare il file manifest EnaPerfCounters.man dal pacchetto di installazione del driver a %SystemRoot%\System32\drivers.

  3. Installare il nuovo manifest utilizzando il seguente comando:

    lodctr /m:EnaPerfCounters.man
Per visualizzare i parametri utilizzando Performance Monitor
  1. Aprire Performance Monitor.

  2. Premere Ctrl+N per aggiungere nuovi contatori.

  3. Scegliere ENA Packets Shaping (Modellazione pacchetti ENA) dall'elenco.

  4. Selezionare le istanze da monitorare e scegliere Add (Aggiungi).

  5. Seleziona OK.

Parametri di ENA Express

ENA Express è alimentato dalla tecnologia AWS Scalable Reliable Datagram (SRD). SRD è un protocollo di trasporto di rete ad alte prestazioni che utilizza l'instradamento dinamico per aumentare il throughput e ridurre al minimo la latenza di coda. Se è stato abilitato ENA Express per i collegamenti dell'interfaccia di rete sia sull'istanza di invio sia sull'istanza di ricezione, è possibile utilizzare i parametri di ENA Express per garantire che le istanze traggano il massimo vantaggio dai miglioramenti delle prestazioni offerti dalla tecnologia SRD. Per esempio:

  • Valuta le tue risorse per assicurarti che abbiano una capacità sufficiente per stabilire più connessioni SRD.

  • Identifica dove risiedono i potenziali problemi che impediscono ai pacchetti in uscita idonei di utilizzare SRD.

  • Calcola la percentuale di traffico in uscita che utilizza SRD per l'istanza.

  • Calcola la percentuale di traffico in entrata che utilizza SRD per l'istanza.

Nota

Per produrre parametri, utilizza la versione 2.8 o successiva del driver.

Per visualizzare un elenco di parametri per l'istanza Linux filtrati per ENA Express, eseguire il comando ethtool per l'interfaccia di rete (mostrata qui come eth0). Prendere nota del valore del parametro ena_srd_mode.

[ec2-user ~]$ ethtool -S eth0 | grep ena_srd NIC statistics: ena_srd_mode: 1 ena_srd_tx_pkts: 0 ena_srd_eligible_tx_pkts: 0 ena_srd_rx_pkts: 0 ena_srd_resource_utilization: 0

I seguenti parametri sono disponibili per tutte le istanze con ENA Express abilitato.

ena_srd_mode

Descrive quali funzionalità ENA Express sono abilitate. I valori sono i seguenti:

  • 0 = ENA Express disattivato, UDP disattivato

  • 1 = ENA Express attivato, UDP disattivato

  • 2 = ENA Express disattivato, UDP attivato

    Nota

    Ciò accade solo quando ENA Express è stato abilitato in origine e UDP è stato configurato per il suo utilizzo. Il valore precedente viene mantenuto per il traffico UDP.

  • 3 = ENA Express attivato, UDP attivato

ena_srd_eligible_tx_pkts

Il numero di rete è il seguente:

  • Sono supportati i tipi sia delle istanze di invio sia di quelle di ricezione. Per ulteriori informazioni, consulta la tabella Tipi di istanza supportati per ENA Express.

  • Sia le istanze di invio sia quelle di ricezione devono avere ENA Express configurato.

  • Le istanze di invio e ricezione devono essere eseguite nella stessa zona di disponibilità.

  • Il percorso di rete tra le istanze non deve includere box middleware (software intermediario). ENA Express attualmente non supporta i box middleware (software intermediario).

Nota

Il parametro di idoneità ENA Express copre i requisiti di origine e destinazione e la rete tra i due endpoint. I pacchetti idonei possono comunque essere squalificati dopo che sono già stati contati. Ad esempio, se un pacchetto idoneo supera il limite massimo di unità di trasmissione (MTU), torna alla trasmissione ENA standard, sebbene il pacchetto sia comunque indicato come idoneo nel contatore.

ena_srd_tx_pkts

Il numero di pacchetti SRD trasmessi in un determinato periodo di tempo.

ena_srd_rx_pkts

Il numero di pacchetti SRD ricevuti in un determinato periodo di tempo.

ena_srd_resource_utilization

La percentuale di utilizzo massimo della memoria consentita per le connessioni SRD simultanee adoperate dall'istanza.

Per verificare se la trasmissione dei pacchetti utilizza SRD, è possibile confrontare il numero di pacchetti idonei (parametro ena_srd_eligible_tx_pkts) con il numero di pacchetti SRD trasmessi (parametro ena_srd_tx_pkts) durante un determinato periodo di tempo.

Traffico in uscita (pacchetti in uscita)

Per assicurarti che il traffico in uscita utilizzi SRD come previsto, confronta il numero di pacchetti SRD idonei (ena_srd_eligible_tx_pkts) con il numero di pacchetti SRD inviati (ena_srd_tx_pkts) in un determinato periodo di tempo.

Differenze significative tra il numero di pacchetti idonei e il numero di pacchetti SRD inviati sono spesso causate da problemi di utilizzo delle risorse. Quando la scheda di rete collegata all'istanza ha esaurito il massimo delle risorse o se i pacchetti superano il limite MTU, i pacchetti idonei non sono in grado di trasmettere tramite SRD e devono ricorrere alla trasmissione ENA standard. I pacchetti possono rientrare in questa lacuna anche durante le migrazioni in tempo reale o gli aggiornamenti del server in tempo reale. È necessaria un'ulteriore risoluzione dei problemi per determinare la causa principale.

Nota

È possibile ignorare le piccole differenze occasionali tra il numero di pacchetti idonei e il numero di pacchetti SRD. Tali differenze possono verificarsi, ad esempio, quando l'istanza stabilisce una connessione a un'altra istanza per il traffico SRD.

Per scoprire quale percentuale del traffico totale in uscita in un determinato periodo di tempo utilizza SRD, confronta il numero di pacchetti SRD inviati (ena_srd_tx_pkts) con il numero totale di pacchetti inviati per l'istanza (NetworkPacketOut) durante tale periodo.

Traffico in ingresso (pacchetti in entrata)

Per scoprire quale percentuale del traffico in entrata utilizza SRD, confronta il numero di pacchetti SRD ricevuti (ena_srd_rx_pkts) in un determinato periodo di tempo con il numero totale di pacchetti ricevuti per l'istanza (NetworkPacketIn) durante tale periodo.

Utilizzo delle risorse

L'utilizzo delle risorse si basa sul numero di connessioni SRD simultanee che una singola istanza può sostenere in un dato momento. Il parametro di utilizzo delle risorse (ena_srd_resource_utilization) tiene traccia dell'utilizzo corrente per l'istanza. A mano a mano che l'utilizzo si avvicina al 100%, puoi aspettarti di riscontrare problemi di prestazioni. ENA Express passa dalla trasmissione SRD alla trasmissione ENA standard e la possibilità di perdita di pacchetti aumenta. L'elevato utilizzo delle risorse indica che è giunto il momento di dimensionare l'istanza per migliorare le prestazioni della rete.

Nota

Quando il traffico di rete di un'istanza supera il limite massimo, AWS modella il traffico che supera il massimo mettendo in coda e poi facendo cadere i pacchetti di rete.

Persistenza

I parametri di uscita e ingresso si accumulano quando ENA Express è abilitato per l'istanza. I parametri smettono di accumularsi se ENA Express è disattivato, ma persistono fintantoché l'istanza è in esecuzione. I parametri vengono ripristinati se l'istanza si riavvia o viene terminata oppure se l'interfaccia di rete viene scollegata dall'istanza.

Parametri delle prestazioni di rete con il driver DPDK per ENA

Il driver ENA versione 2.2.0 e successive supporta il reporting dei parametri di rete. DPDK 20.11 include il driver ENA 2.2.0 ed è la prima versione di DPDK a supportare questa funzionalità.

È possibile utilizzare un'applicazione di esempio per visualizzare le statistiche DPDK. Per avviare una versione interattiva dell'applicazione di esempio, esegui il comando seguente.

./app/dpdk-testpmd -- -i

All'interno di questa sessione interattiva, è possibile immettere un comando per recuperare le statistiche estese per una porta. Il seguente comando di esempio recupera le statistiche per la porta 0.

show port xstats 0

Di seguito è riportato un esempio di sessione interattiva con l'applicazione di esempio DPDK.

[root@ip-192.0.2.0 build]# ./app/dpdk-testpmd -- -i EAL: Detected 4 lcore(s) EAL: Detected 1 NUMA nodes EAL: Multi-process socket /var/run/dpdk/rte/mp_socket EAL: Selected IOVA mode 'PA' EAL: Probing VFIO support... EAL: Invalid NUMA socket, default to 0 EAL: Invalid NUMA socket, default to 0 EAL: Probe PCI driver: net_ena (1d0f:ec20) device: 0000:00:06.0 (socket 0) EAL: No legacy callbacks, legacy socket not created Interactive-mode selected Port 0: link state change event testpmd: create a new mbuf pool <mb_pool_0>: n=171456, size=2176, socket=0 testpmd: preferred mempool ops selected: ring_mp_mc Warning! port-topology=paired and odd forward ports number, the last port will pair with itself. Configuring Port 0 (socket 0) Port 0: 02:C7:17:A2:60:B1 Checking link statuses... Done Error during enabling promiscuous mode for port 0: Operation not supported - ignore testpmd> show port xstats 0 ###### NIC extended statistics for port 0 rx_good_packets: 0 tx_good_packets: 0 rx_good_bytes: 0 tx_good_bytes: 0 rx_missed_errors: 0 rx_errors: 0 tx_errors: 0 rx_mbuf_allocation_errors: 0 rx_q0_packets: 0 rx_q0_bytes: 0 rx_q0_errors: 0 tx_q0_packets: 0 tx_q0_bytes: 0 wd_expired: 0 dev_start: 1 dev_stop: 0 tx_drops: 0 bw_in_allowance_exceeded: 0 bw_out_allowance_exceeded: 0 pps_allowance_exceeded: 0 conntrack_allowance_exceeded: 0 linklocal_allowance_exceeded: 0 rx_q0_cnt: 0 rx_q0_bytes: 0 rx_q0_refill_partial: 0 rx_q0_bad_csum: 0 rx_q0_mbuf_alloc_fail: 0 rx_q0_bad_desc_num: 0 rx_q0_bad_req_id: 0 tx_q0_cnt: 0 tx_q0_bytes: 0 tx_q0_prepare_ctx_err: 0 tx_q0_linearize: 0 tx_q0_linearize_failed: 0 tx_q0_tx_poll: 0 tx_q0_doorbells: 0 tx_q0_bad_req_id: 0 tx_q0_available_desc: 1023 testpmd>

Per ulteriori informazioni sull'applicazione di esempio e sul suo utilizzo per recuperare statistiche estese, consulta Testpmd Application User Guide nella documentazione di DPDK.

Metriche sulle istanze in esecuzione FreeBSD

A partire dalla versione 2.3.0, l'ENA FreeBSD il driver supporta la raccolta di metriche delle prestazioni di rete sulle istanze in esecuzione FreeBSD. Per abilitare la raccolta di FreeBSD metriche, immettete il seguente comando e impostate interval un valore compreso tra 1 e 3600. Questo specifica la frequenza, in secondi, di raccogliere FreeBSD metriche.

sysctl dev.ena.network_interface.eni_metrics.sample_interval=interval

Ad esempio, il comando seguente imposta il driver da raccogliere FreeBSD metriche sull'interfaccia di rete 1 ogni 10 secondi:

sysctl dev.ena.1.eni_metrics.sample_interval=10

Per disattivare la raccolta di FreeBSD metriche, è possibile eseguire il comando precedente e specificare 0 come. interval

Dopo aver abilitato la raccolta FreeBSD metrics, puoi recuperare l'ultimo set di metriche raccolte eseguendo il comando seguente.

sysctl dev.ena.network_interface.eni_metrics