Quando una macchina virtuale Windows in vSphere trasmette pacchetti UDP di grandi dimensioni, la velocità effettiva è inferiore al previsto oppure oscilla anche quando l'altro traffico è trascurabile.
Problema
Quando una macchina virtuale Windows trasmette pacchetti UDP più grandi di 1024 byte, la velocità effettiva risulta inferiore al previsto oppure oscilla anche quando l'altro traffico è trascurabile. Nel caso di un server di streaming video, la riproduzione del video si interrompe.
Causa
Per ogni pacchetto UDP di dimensioni superiori a 1024 byte, lo stack di rete Windows attende un interrupt di completamento della trasmissione prima di inviare il pacchetto successivo. vSphere non offre una soluzione alternativa trasparente della situazione.
Soluzione
- Aumentare la soglia in byte a cui Windows modifica il comportamento per i pacchetti UDP modificando il registro del sistema operativo guest Windows.
- Individuare la chiave di registro HKLM|System|CurrentControlSet|Services|Afd|Parameters.
- Aggiungere un valore con il nome FastSendDatagramThreshold, di tipo DWORD, con valore 1500.
- Modificare le impostazioni di unione della scheda NIC della macchina virtuale.
Se la macchina virtuale Windows dispone di una scheda vNIC VMXNET3, configurare uno dei seguenti parametri nel file
.vmx della macchina virtuale. Utilizzare
vSphere Client o modificare direttamente il file
.vmx.
Azione |
Parametro |
Valore |
Aumentare la frequenza di interrupt della macchina virtuale a una velocità maggiore rispetto alla velocità di pacchetti prevista. Ad esempio, se la velocità di pacchetti prevista è 15.000 interrupt al secondo, impostare la velocità di interrupt su 16.000 interrupt al secondo. Impostare il parametro ethernetX.coalescingScheme su rbc e il parametro ethernetX.coalescingParams su 16.000. La frequenza di interrupt predefinita è 4000 interrupt al secondo. |
ethernetX.coalescingScheme ethernetX.coalescingParams |
rbc 16000 |
Disattivare l'unione per carichi di lavoro a bassa velocità effettiva o sensibili alla latenza. Per informazioni sulla configurazione dei carichi di lavoro a bassa latenza, vedere Procedura consigliata di configurazione per l'ottimizzazione delle prestazioni dei carichi di lavoro sensibili alla latenza nelle macchine virtuali vSphere. |
ethernetX.coalescingScheme |
disattivato |
Ripristinare l'algoritmo di unione dalle versioni precedenti di ESXi.
Nota: La possibilità di ripristinare l'algoritmo precedente non sarà disponibile nelle versioni successive di vSphere.
|
ethernetX.coalescingScheme |
calibrare |
X accanto a ethernet indica il numero di sequenza del vNIC nella macchina virtuale.
Per ulteriori informazioni sulla configurazione dei parametri nel file .vmx, vedere la documentazione Amministrazione delle macchine virtuali vSphere.
- Modificare le impostazioni di unione dell'host ESXi.
Questo approccio influisce su tutte le macchine virtuali e sulle NIC di tutte le macchine virtuali nell'host.
È possibile modificare l'elenco di impostazioni di sistema avanzate per l'host in vSphere Client oppure utilizzare un comando della console vCLI sull'host da ESXi Shell.
Azione |
Parametro in vSphere Client |
Parametro per il comando esxcli system settings sdvanced set |
Valore |
Impostare una frequenza di interrupt predefinita superiore alla velocità di pacchetti prevista. Ad esempio, impostare la frequenza di interrupt su 16.000 se sono previsti 15.000 interrupt al secondo. |
Net.CoalesceScheme Net.CoalesceParams |
/Net/CoalesceScheme /Net/CoalesceParams |
rbc 16000 |
Disattivare l'unione per carichi di lavoro a bassa velocità effettiva o sensibili alla latenza. Per informazioni sulla configurazione dei carichi di lavoro a bassa latenza, vedere Procedura consigliata di configurazione per l'ottimizzazione delle prestazioni dei carichi di lavoro sensibili alla latenza nelle macchine virtuali vSphere. |
Net.CoalesceDefaultOn |
/Net/CoalesceDefaultOn |
0 |
Ripristinare lo schema di unione dalle versioni precedenti di ESXi.
Nota: La possibilità di ripristinare l'algoritmo precedente non sarà disponibile nelle versioni successive di vSphere.
|
Net.CoalesceScheme |
/Net/CoalesceScheme |
calibrare |
Per informazioni sulla configurazione di un host da vSphere Client, consultare la documentazione vCenter Server e gestione degli host. Per informazioni sull'impostazione delle proprietà host mediante un comando vCLI, consultare la documentazione Guida di riferimento di ESXCLI.