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à.
Ottimizza le prestazioni di rete sulle istanze Windows EC2
Per ottenere le massime prestazioni di rete sulle istanze Windows con reti avanzate, potrebbe essere necessario modificare la configurazione del sistema operativo predefinita. Si consiglia di apportare le seguenti modifiche alla configurazione per le applicazioni che richiedono prestazioni di rete elevate. Altre ottimizzazioni (come ad esempio l’attivazione dell’offload del checksum e l’abilitazione di RSS) sono già configurate sulle AMI ufficiali di Windows.
Nota
TCP chimney offload dovrebbe essere disabilitato nella maggior parti dei casi d’uso ed è stato reso obsoleto con Windows Server 2016.
Oltre a queste ottimizzazioni del sistema operativo, devi anche considerare l’unità di trasmissione massima (MTU) del traffico di rete e regolare in base al carico di lavoro e all’architettura di rete. Per ulteriori informazioni, consulta Unità massima di trasmissione (MTU) di rete per istanza EC2.
AWS misura regolarmente le latenze medie di andata e ritorno tra le istanze lanciate in un gruppo di collocamento del cluster di 50us e le latenze di coda di 200us al 99,9 percentile. Se le tue applicazioni richiedono costantemente latenze basse, consigliamo di utilizzare l’ultima versione dei driver ENA nelle istanze basate sul sistema Nitro con prestazioni fisse.
Configura l’affinità della CPU con Receive Side Scaling
Receive Side Scaling (RSS) viene utilizzato per distribuire il carico della CPU del traffico di rete su più processori. Come impostazione predefinita, le AMI Amazon Windows ufficiali sono configurate con RSS abilitato. Le interfacce di rete elastiche ENA forniscono fino a otto code RSS. Definendo l’affinità dei CPU per le code RSS, nonché per altri processi del sistema, è possibile distribuire il carico di lavoro della CPU su sistemi multi-core e consentire l’elaborazione di più traffico di rete. Sui tipi di istanza con più di 16 vCPU, 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 configurazione RSS per tutte le interfacce di rete elastiche, per evitare conflitti con vari componenti di sistema.
Windows è compatibile con hyperthreading e garantisce che le code RSS di una singola scheda di interfaccia di rete vengano sempre posizionate su diversi core fisici. Pertanto, a meno che l'hyper-threading non sia disabilitato, per evitare completamente il conflitto con altre NIC, distribuisci la configurazione RSS di ciascuna NIC tra un intervallo di 16 processori logici. Il Set-NetAdapterRss cmdlet consente di definire l'intervallo per NIC di processori logici validi definendo i valori di,, e (opzionale). BaseProcessorGroup BaseProcessorNumber MaxProcessingGroup MaxProcessorNumber NumaNode Se non ci sono abbastanza core fisici per eliminare completamente conflitti inter-NIC, minimizza le gamme in sovrapposizione o riduci il numero di processori logici nelle gamme di interfaccia elastica di rete in base al carico di lavoro previsto dell’interfaccia (in altre parole, un’interfaccia di rete amministrativa di basso volume potrebbe non aver bisogno di così tante code RSS assegnate). Inoltre, come indicato precedentemente, i vari componenti devono essere eseguiti su CPU 0 e quindi è consigliabile escluderla da tutte le configurazioni RSS quando è disponibile un numero sufficiente di vCPU.
Ad esempio, quando sono presenti tre interfacce elastiche di rete su un’istanza a 72 vCPU con due nodi NUMA con l’hyper-threading abilitato, i comandi seguenti distribuiscono il carico di rete tra le due CPU senza sovrapposizione e impediscono completamente l’utilizzo 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 uno con un numero diverso di vCPU, devi rivalutare la configurazione RSS per ogni interfaccia elastica di rete abilitata. La documentazione Microsoft completa per il cmdlet è disponibile qui:. Set-NetAdapterRss
Nota speciale per i carichi di lavoro SQL: Ti consigliamo inoltre di rivedere le impostazioni di affinità dei I/O thread insieme alla configurazione RSS dell'interfaccia di rete elastica per ridurre al minimo i conflitti di rete per I/O le stesse CPU. Consulta Server configuration: affinity mask