Monitoraggio delle prestazioni di rete per l'istanza EC2 - 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à.

Monitoraggio delle prestazioni di rete per l'istanza EC2

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 istanza EC2 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 EC2 offre inoltre la larghezza di banda massima per il traffico verso AWS Direct Connect e Internet. Per ulteriori informazioni, consulta Larghezza di banda di rete dell'istanza Amazon EC2.

  • Prestazioni P acket-per-second (PPS): ogni istanza EC2 ha 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 la sezione Monitoraggio della connessione al gruppo di sicurezza.

  • Accesso al servizio locale del collegamento: Amazon EC2 fornisce un numero massimo di PPS per interfaccia di rete per il traffico verso servizi quali il servizio DNS, il servizio di metadati dell'istanza e il servizio Amazon Time Sync.

Quando il traffico di rete di un'istanza supera il 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 la conntrack_allowance_available metrica, installa 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 sul sistema AWS 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.

Tutti i tipi di istanza

Visualizzare i parametri delle prestazioni di rete per l'istanza

La procedura da utilizzare 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 le metriche 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 la velocità di trasmissione effettiva e ridurre al minimo la latenza di coda. Puoi utilizzare i parametri di ENA Express per assicurarti che le tue istanze traggano il massimo vantaggio dai miglioramenti delle prestazioni offerti dalla tecnologia SRD, ad 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.

I seguenti parametri di ENA Express sono disponibili utilizzando il comando ethtool per le istanze basate su Linux.

  • 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 pacchetti di rete inviati in un determinato periodo di tempo che soddisfano i requisiti SRD di idoneità, come indicato di seguito:

    • 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 visualizzare un elenco di parametri filtrati per ENA Express, esegui il comando ethtool per la tua interfaccia di rete (mostrata qui come eth0):

[ec2-user ~]$ ethtool -S eth0 | grep ena_srd NIC statistics: ena_srd_mode: 0 ena_srd_tx_pkts: 0 ena_srd_eligible_tx_pkts: 0 ena_srd_rx_pkts: 0 ena_srd_resource_utilization: 0
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 ricadere in questa lacuna anche durante le migrazioni in tempo reale o gli aggiornamenti live dei server. È 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 limite inserendo in coda e quindi eliminando 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.

Parametri sulle istanze che eseguono FreeBSD

A partire dalla versione 2.3.0, il driver ENA FreeBSD supporta la raccolta di parametri sulle prestazioni di rete su istanze che eseguono FreeBSD. Per abilitare la raccolta dei parametri di FreeBSD, inserire il seguente comando e impostare l'intervallo su un valore compreso tra 1 e 3600. Questo specifica la frequenza con cui, in pochi secondi, raccogliere i parametri di FreeBSD.

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

Ad esempio, il seguente comando imposta il driver affinché raccolga i parametri di FreeBSD sull'interfaccia di rete 1 ogni 10 secondi:

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

Per disattivare la raccolta dei parametri di FreeBSD, puoi eseguire il comando precedente e specificare 0 come interval (intervallo).

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

sysctl dev.ena.network_interface.eni_metrics