Migliora le prestazioni di rete tra EC2 le istanze con Express ENA - 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à.

Migliora le prestazioni di rete tra EC2 le istanze con Express ENA

ENAExpress è alimentato dalla tecnologia AWS Scalable Reliable Datagram (). SRD SRDè un protocollo di trasporto di rete ad alte prestazioni che utilizza il routing dinamico per aumentare la velocità effettiva e ridurre al minimo la latenza di coda. Con ENA Express, è possibile comunicare tra due EC2 istanze nella stessa zona di disponibilità.

Vantaggi di Express ENA
  • Aumenta la larghezza di banda massima che un singolo flusso può utilizzare da 5 Gbps a 25 Gbps all'interno della zona di disponibilità, fino al limite di istanze aggregate.

  • Riduce la latenza di coda del traffico di rete tra le EC2 istanze, specialmente durante i periodi di elevato carico di rete.

  • Rileva ed evita i percorsi di rete congestionati.

  • Gestisce alcune attività direttamente a livello di rete, come il riordino dei pacchetti sul lato di ricezione e la maggior parte delle ritrasmissioni necessarie. Questo libera il livello dell'applicazione per altre attività.

Nota
  • Se l'applicazione invia o riceve un volume elevato di pacchetti al secondo e deve ottimizzare la latenza per la maggior parte del tempo, specialmente nei periodi in cui la rete non è congestionata, Reti avanzate potrebbe essere la soluzione più adatta alla rete.

  • ENAIl traffico espresso non può essere inviato attraverso sottoreti in una zona locale.

Dopo aver abilitato ENA Express per l'allegato dell'interfaccia di rete su un'istanza, l'istanza mittente avvia la comunicazione con l'istanza ricevente e SRD rileva se ENA Express funziona sia sull'istanza di invio che su quella ricevente. Se ENA Express è operativo, la comunicazione può utilizzare la trasmissione. SRD Se ENA Express non funziona, la comunicazione torna alla ENA trasmissione standard.

Nei periodi di tempo in cui il traffico di rete è scarso, è possibile notare un leggero aumento della latenza dei pacchetti (decine di microsecondi) quando il pacchetto utilizza Express. ENA In questi periodi, le applicazioni che danno priorità a caratteristiche prestazionali di rete specifiche possono trarre vantaggio da Express nei seguenti modi: ENA

  • I processi possono trarre vantaggio dall'aumento della larghezza di banda massima a flusso singolo da 5 Gbps a 25 Gbps all'interno della stessa zona di disponibilità, fino al limite di istanze aggregate. Ad esempio, se un tipo di istanza specifico supporta fino a 12,5 Gbps, anche la larghezza di banda a flusso singolo è limitata a 12,5 Gbps.

  • I processi in esecuzione più a lungo termine dovrebbero avere una latenza di coda ridotta durante i periodi di congestione della rete.

  • I processi possono trarre vantaggio da una distribuzione più fluida e standard per i tempi di risposta della rete.

Come funziona Express ENA

ENAExpress è basato sulla tecnologia AWS Scalable Reliable Datagram ()SRD. Distribuisce i pacchetti per ogni flusso di rete su diversi percorsi di AWS rete e regola dinamicamente la distribuzione quando rileva segnali di congestione. Gestisce anche il riordino dei pacchetti sul lato di ricezione.

Per garantire che ENA Express sia in grado di gestire il traffico di rete come previsto, le istanze di invio e ricezione e la comunicazione tra di esse devono soddisfare tutti i seguenti requisiti:

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

  • Entrambe le istanze di invio e ricezione devono avere ENA Express configurato. Se ci sono differenze nella configurazione, è possibile che si verifichino situazioni in cui il traffico utilizza come impostazione predefinita la trasmissione standard. ENA Lo scenario seguente mostra ciò che accade in questo caso.

    Scenario: differenze nella configurazione

    Istanza ENAExpress abilitato UDPutilizza ENA Express
    Istanza 1
    Istanza 2 No

    In questo caso, il TCP traffico tra le due istanze può utilizzare ENA Express, poiché entrambe le istanze lo hanno abilitato. Tuttavia, poiché una delle istanze non utilizza ENA Express per il UDP traffico, la comunicazione tra queste due istanze utilizza la trasmissione UDP standard. ENA

  • 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). ENAExpress attualmente non supporta i middleware box.

  • (Solo istanze Linux) Per sfruttare tutto il potenziale della larghezza di banda, utilizzate la versione del driver 2.2.9 o successiva.

  • (Solo istanze Linux) Per generare parametri, utilizzate la versione del driver 2.8 o successiva.

Se qualche requisito non viene soddisfatto, le istanze utilizzano il UDP protocollo standardTCP/ma non comunicano. SRD

Per assicurarti che il driver di rete dell'istanza sia configurato per prestazioni ottimali, consulta le best practice consigliate per i ENA driver. Queste best practice si applicano anche a ENA Express. Per ulteriori informazioni, consulta la Guida alle migliori pratiche e all'ottimizzazione delle prestazioni dei driver ENA Linux sul GitHub sito Web.

Nota

Amazon EC2 si riferisce alla relazione tra un'istanza e un'interfaccia di rete ad essa collegata come allegato. ENALe impostazioni Express si applicano all'allegato. Se l'interfaccia di rete è scollegata dall'istanza, l'allegato non esiste più e le impostazioni ENA Express ad esso applicate non sono più in vigore. Lo stesso vale quando un'istanza viene terminata, anche se l'interfaccia di rete rimane.

Dopo aver abilitato ENA Express per gli allegati dell'interfaccia di rete sia sull'istanza di invio che su quella ricevente, puoi utilizzare le metriche di ENA Express per assicurarti che le tue istanze traggano il massimo vantaggio dai miglioramenti delle prestazioni offerti dalla tecnologia. SRD Per ulteriori informazioni sulle metriche di ENA Express, consulta. Metriche per Express ENA

Tipi di istanze supportati per Express ENA

Le seguenti schede mostrano i tipi di istanze che supportano ENA Express.

General purpose
Tipo di istanza Architettura
m6a.12xlarge x86_64
m6a.16xlarge x86_64
m6a.24xlarge x86_64
m6a.32xlarge x86_64
m6a.48xlarge x86_64
m6a.metal x86_64
m6i.8xlarge x86_64
m6i.12xlarge x86_64
m6i.16xlarge x86_64
m6i.24xlarge x86_64
m6i.32xlarge x86_64
m6i.metal x86_64
m6id.8xlarge x86_64
m6id.12xlarge x86_64
m6id.16xlarge x86_64
m6id.24xlarge x86_64
m6id.32xlarge x86_64
m6id.metal x86_64
m7g.12xlarge arm64
m7g.16xlarge arm64
m7g.metal arm64
m7gd.12xlarge arm64
m7gd.16xlarge arm64
m7gd.metal arm64
m7i.12xlarge x86_64
m7i.16xlarge x86_64
m7i.24xlarge x86_64
m7i.48xlarge x86_64
m7i.metal-24xl x86_64
m7i.metal-48xl x86_64
Compute optimized
Tipo di istanza Architettura
c6a.12xlarge x86_64
c6a.16xlarge x86_64
c6a.24xlarge x86_64
c6a.32xlarge x86_64
c6a.48xlarge x86_64
c6a.metal x86_64
c6gn.16xlarge arm64
c6i.8xlarge x86_64
c6i.12xlarge x86_64
c6i.16xlarge x86_64
c6i.24xlarge x86_64
c6i.32xlarge x86_64
c6i.metal x86_64
c6id.8xlarge x86_64
c6id.12xlarge x86_64
c6id.16xlarge x86_64
c6id.24xlarge x86_64
c6id.32xlarge x86_64
c6id.metal x86_64
c7g.12xlarge arm64
c7g.16xlarge arm64
c7g.metal arm64
c7gd.12xlarge arm64
c7gd.16xlarge arm64
c7gd.metal arm64
c7i.12xlarge x86_64
c7i.16xlarge x86_64
c7i.24xlarge x86_64
c7i.48xlarge x86_64
c7i.metal-24xl x86_64
c7i.metal-48xl x86_64
Memory optimized
Tipo di istanza Architettura
r6a.12xlarge x86_64
r6a.16xlarge x86_64
r6a.24xlarge x86_64
r6a.32xlarge x86_64
r6a.48xlarge x86_64
r6a.metal x86_64
r6i.8xlarge x86_64
r6i.12xlarge x86_64
r6i.16xlarge x86_64
r6i.24xlarge x86_64
r6i.32xlarge x86_64
r6i.metal x86_64
r6id.8xlarge x86_64
r6id.12xlarge x86_64
r6id.16xlarge x86_64
r6id.24xlarge x86_64
r6id.32xlarge x86_64
r6id.metal x86_64
r7g.12xlarge arm64
r7g.16xlarge arm64
r7g.metal arm64
r7gd.12xlarge arm64
r7gd.16xlarge arm64
r7gd.metal arm64
r7i.12xlarge x86_64
r7i.16xlarge x86_64
r7i.24xlarge x86_64
r7i.48xlarge x86_64
r7i.metal-24xl x86_64
r7i.metal-48xl x86_64
r8g.12xlarge arm64
r8g.16xlarge arm64
r8g.24xlarge arm64
r8g.48xlarge arm64
r8g.metal-24xl arm64
r8g.metal-48xl arm64
u7i-12tb.224xlarge x86_64
u7in-16tb.224xlarge x86_64
u7in-24tb.224xlarge x86_64
u7in-32tb.224xlarge x86_64
x2idn.16xlarge x86_64
x2idn.24xlarge x86_64
x2idn.32xlarge x86_64
x2idn.metal x86_64
x2iedn.8xlarge x86_64
x2iedn.16xlarge x86_64
x2iedn.24xlarge x86_64
x2iedn.32xlarge x86_64
x2iedn.metal x86_64
Accelerated computing
Tipo di istanza Architettura
g6.48xlarge x86_64
Storage optimized
Tipo di istanza Architettura
i4g.4xlarge arm64
i4g.8xlarge arm64
i4g.16xlarge arm64
i4i.8xlarge x86_64
i4i.12xlarge x86_64
i4i.16xlarge x86_64
i4i.24xlarge x86_64
i4i.32xlarge x86_64
i4i.metal x86_64
im4gn.4xlarge arm64
im4gn.8xlarge arm64
im4gn.16xlarge arm64

Prerequisiti per le istanze Linux

Per garantire che ENA Express funzioni in modo efficace, aggiorna le impostazioni dell'istanza Linux come segue.

  • Se l'istanza utilizza i jumbo frame, esegui il comando seguente per impostare l'unità di trasmissione massima (MTU) su8900.

    [ec2-user ~]$ sudo ip link set dev eth0 mtu 8900
  • Aumenta la dimensione dell'anello ricevitore (Rx) nel modo seguente:

    [ec2-user ~]$ ethtool -G device rx 8192
  • Per massimizzare la larghezza di banda di ENA Express, configurate i limiti di TCP coda come segue:

    1. Imposta il limite per le code di TCP piccole dimensioni su 1 MB o superiore. Ciò aumenta i dati in coda per la trasmissione su un socket:

      sudo sh -c 'echo 1048576 > /proc/sys/net/ipv4/tcp_limit_output_bytes'
    2. Disabilita i limiti della coda di byte sul dispositivo eth se sono abilitati per la tua distribuzione Linux. Ciò aumenta anche i dati in coda per la trasmissione, ma a livello di coda del dispositivo:

      sudo sh -c 'for txq in /sys/class/net/eth0/queues/tx-*; do echo max > ${txq}/byte_queue_limits/limit_min; done'
      Nota

      Il ENA driver per la distribuzione Amazon Linux disabilita i limiti della coda di byte per impostazione predefinita.

Ottimizza le prestazioni per le impostazioni ENA Express sulle istanze Linux

Per verificare la configurazione dell'istanza Linux per ottenere prestazioni ENA Express ottimali, puoi eseguire il seguente script disponibile nel GitHub repository Amazon:

https://github.com/amzn/check-ena-express-settingsamzn-ec2-ena-utilities/blob/main/ena-express/ .sh

Lo script esegue una serie di test e suggerisce le modifiche di configurazione consigliate e richieste.