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à.
Ottimizzazione delle prestazioni di rete sulle istanze EC2 Windows
Per ottenere le massime prestazioni di rete sulle istanze Windows con reti avanzate, potrebbe essere necessario modificare la configurazione predefinita del sistema operativo. Si consiglia di apportare le seguenti modifiche alla configurazione per le applicazioni che richiedono prestazioni di rete elevate. Altre ottimizzazioni, ad esempio l'attivazione dell'offload e dell'attivazione del checksumRSS, sono già configurate su Windows ufficiale. AMIs
Nota
TCPl'offloading del camino dovrebbe essere disabilitato nella maggior parte dei casi d'uso ed è diventato obsoleto a partire da Windows Server 2016.
Oltre a queste ottimizzazioni del sistema operativo, è necessario considerare anche l'unità di trasmissione massima (MTU) del traffico di rete e regolarla in base al carico di lavoro e all'architettura di rete. Per ulteriori informazioni, consulta Unità di trasmissione massima della rete (MTU) per la tua EC2 istanza.
AWS misura regolarmente le latenze medie di andata e ritorno tra le istanze avviate in un gruppo di posizionamento del cluster di 50us e le latenze di coda di 200us al 99,9%. Se le tue applicazioni richiedono latenze costantemente basse, ti consigliamo di utilizzare la versione più recente dei ENA driver su istanze a prestazioni fisse basate sul sistema Nitro.
Configura l'affinità di scalabilità lato Receive CPU
Receive side scaling (RSS) viene utilizzato per distribuire il CPU carico del traffico di rete su più processori. Per impostazione predefinita, le versioni ufficiali di Amazon Windows AMIs sono configurate con RSS enabled. ENAle interfacce di rete elastiche forniscono fino a otto RSS code. Definendo l'CPUaffinità per le RSS code e per altri processi di sistema, è possibile distribuire il CPU carico su sistemi multi-core, consentendo l'elaborazione di una maggiore quantità di traffico di rete. Per i tipi di istanze con più di 16vCPUs, si consiglia di utilizzare il Set-NetAdapterRSS
PowerShell cmdlet, che esclude manualmente il processore di avvio (processore logico 0 e 1 quando l'hyper-threading è abilitato) dalla RSS configurazione per tutte le interfacce di rete elastiche, al fine di evitare conflitti con vari componenti del sistema.
Windows supporta gli hyperthread e garantisce che le RSS code di una singola scheda di interfaccia di rete () siano sempre posizionate su core fisici diversi. NIC Pertanto, a meno che l'hyper-threading non sia disabilitato, per evitare completamente il conflitto con altreNICs, distribuisci la RSS configurazione di ciascuno NIC tra un intervallo di 16 processori logici. Il Set-NetAdapterRss
cmdlet consente di definire il NIC range di processori logici validi definendo i valori di BaseProcessorGroup,, BaseProcessorNumber MaxProcessingGroup, MaxProcessorNumber e (opzionale). NumaNode Se non ci sono abbastanza core fisici per eliminare completamente le NIC controversie, riduci al minimo gli intervalli sovrapposti o riduci il numero di processori logici negli intervalli di elastic network interface a seconda del carico di lavoro previsto dell'interfaccia (in altre parole, un'interfaccia di rete amministrativa a basso volume potrebbe non richiedere l'assegnazione di tante code). RSS Inoltre, come indicato in precedenza, diversi componenti devono funzionare su CPU 0, pertanto consigliamo di escluderlo da tutte le RSS configurazioni quando ne sono disponibili sufficienti. vCPUs
Ad esempio, quando sono presenti tre interfacce di rete elastiche su un'CPUistanza 72 v con 2 NUMA nodi con hyper-threading abilitato, i seguenti comandi distribuiscono il carico di rete tra i due CPUs senza sovrapposizioni e impediscono completamente l'uso del core 0.
Set-NetAdapterRss -Name NIC1 -BaseProcessorGroup 0 -BaseProcessorNumber 2 -MaxProcessorNumber 16 Set-NetAdapterRss -Name NIC2 -BaseProcessorGroup 1 -BaseProcessorNumber 0 -MaxProcessorNumber 14 Set-NetAdapterRss -Name NIC3 -BaseProcessorGroup 1 -BaseProcessorNumber 16 -MaxProcessorNumber 30
Nota che queste impostazioni sono persistenti per ogni adattatore di rete. Se un'istanza viene ridimensionata a un'istanza con un numero diverso divCPUs, è necessario rivalutare la RSS configurazione per ogni elastic network interface abilitata. La documentazione Microsoft completa per il Set-NetAdapterRss
cmdlet è disponibile qui: https://docs.microsoft.com/en-us/ powershell/module/netadapter/set-netadapterrss.
Nota speciale per i SQL carichi di lavoro: consigliamo inoltre di rivedere le impostazioni di affinità dei thread di I/O insieme alla RSS configurazione dell'elastic network interface per ridurre al minimo l'I/O e il conflitto di rete per gli stessi. CPUs Consulta Opzione di configurazione server maschera affinità