Come ottimizzare le prestazioni della macchina virtuale per il bilanciamento del carico NFV

PUBBLICATO DA Zevenet | 19 dicembre, 2017

DESCRIZIONE

Rete virtualizzazione Funzione, noto come NFV, è un nuovo paradigma che difende l'uso dei dispositivi di rete negli ambienti virtuali al fine di ottenere flessibilità e facilità di manutenzione. Ma ogni caso di utilizzo dovrebbe essere studiato per determinare se l'opzione migliore è un hardware o un'appliance virtuale in base ai requisiti, al budget e alle risorse disponibili.

In questo articolo dichiareremo il file differenze tra le appliance hardware di rete, per definire alcuni Ottimizzazione tunning VM per il networking e il bilanciamento del carico e prestazioni tra i venditori di hypervisor.

Differenze di prestazioni tra hardware e dispositivi virtuali

Una volta che abbiamo bisogno di distribuire un nuovo bilanciatore del carico, la ragione tecnica principale per andare a hardware apparecchio è quello di raccogliere più performance e minore latenza di rete possibile, ma il virtuale apparecchio fornirebbe di più flessibilità e gestione più semplice di infrastruttura.

In un mondo ideale, distribuendo una macchina virtuale con tutte le risorse disponibili dall'host, è possibile ottenere nella VM tra 96% a 97% della CPU dell'host, tra 70% a 90% delle prestazioni di rete dell'host e tra 40% e 70% delle prestazioni di I / O di archiviazione dell'host, tutte dovute al sovraccarico dell'hypervisor.

Il benchmarking di macchine virtuali non è un compito facile in quanto diverse configurazioni possibili possono produrre la mancanza di numeri precisi e ci sono troppi fattori che possono influenzare le prestazioni di una macchina virtuale, come:

Il venditore e la versione hypervisor utilizzati
Le ottimizzazioni dell'host
Risorse allocate per VM
Numero di macchine virtuali in esecuzione per host
Traffico di rete, CPU o I / O su disco caricati nell'hypervisor
Driver di rete configurati
Risorse condivise tra VM
Attività svolta (routing, cambio di contenuto, offload SSL, ecc.)
tra gli altri…

Questo articolo è dedicato all'ottimizzazione della rete per il bilanciamento del carico negli ambienti virtuali, quindi è incentrato sul carico della CPU e sull'ottimizzazione dell'I / O di rete per ottenere il massimo dalle VM con bilanciamento del carico. Le prestazioni di archiviazione su disco non sono così critiche in quanto questo tipo di applicazioni NFV non richiede un carico elevato di I / O del disco.

Ottimizzazioni VM per il networking e il bilanciamento del carico

Al fine di potenziare il tuo NFV (e in particolare per il bilanciamento del carico) nella tua infrastruttura virtuale, ti consigliamo di seguire le prossime istruzioni.

1. Host hardware moderno e aggiornato. Le più recenti piattaforme hardware includono già numerose accelerazioni del processore e tecniche software a livello di BIOS o firmware per ottenere prestazioni migliori con la virtualizzazione. La manutenzione di firmware e BIOS aggiornati è solitamente una buona pratica per abilitare nuove funzionalità ed essere sicuri di problemi noti.

2. Seleziona il tuo hypervisor preferito. L'hypervisor da eseguire nell'host è molto importante per quanto riguarda le prestazioni di rete. Il nostro studio di benchmark sugli hypervisor più utilizzati è descritto nella sezione successiva. Ti fornirà un'ampia panoramica su quali sono le piattaforme virtuali più ottimizzate per le prestazioni di rete e il bilanciamento del carico. Inoltre, alcuni fornitori sbloccano diverse funzionalità di prestazioni e scalabilità nelle loro soluzioni non gratuite che dovrebbero essere abilitate per le soluzioni NFV.

3. Hypervisor aggiornato. Mantenere aggiornato l'host trarrà vantaggio da tutte le funzioni di ottimizzazione e miglioramento delle risorse applicate nell'hypervisor e dai problemi di sicurezza risolti.

4. Abilita Intel VT-x o AMD-V. Generalmente, i processori Intel e AMD più recenti includono questo flag di accelerazione ma non abilitato di default nel BIOS. Una volta assicurato che questa opzione sia abilitata nel BIOS, è necessario abilitarlo a livello di VM.

5. Rete dedicata per la manutenzione. Durante la configurazione della rete di una macchina virtuale è importante creare una rete isolata per i servizi di produzione e per le attività di manutenzione in una rete privata interna con l'host che potrebbe essere utilizzato per Motions (spostamento dei carichi di lavoro tra host). Questa rete privata sarà più veloce e più sicura, ma non influirà sui tuoi servizi di produzione durante la manutenzione.

6. Seleziona driver di rete migliorati. Assicurarsi di utilizzare il driver di rete virtuale più performante per ogni hypervisor e per la scheda NIC specifica. Mantenere il driver di rete più adatto e aggiornato per l'host ridurrà la latenza e funzionerà meglio in caso di elevati carichi di traffico di rete.

7. VCPU dedicato. Dal punto di vista delle prestazioni è meglio avere meno vCPU assegnate a una certa VM ma dedicate ad essa. Evitare di condividere le risorse della CPU diminuisce il cambio di contesto e lo stato di attesa nell'host, nonché per evitare che i carichi di lavoro influiscano da una VM all'altra.

8. Modelli ottimizzati e pronti per la distribuzione. È importante disporre di modelli ottimizzati in base al determinato hypervisor e versione, che includa gli strumenti, i driver e il sistema operativo appropriati per il networking nel lato guest. Avere un modello pronto per la distribuzione aumenta l'efficienza, la gestione e il tempo.

Prestazioni tra hypervisor

Secondo i benchmark di bilanciamento del carico e gli elevati carichi di rete nel nostro laboratorio, possiamo affermarlo versioni più recenti di Vmware ESXi funziona meglio di Xen Server, Hyper-V o altri hypervisor sul mercato.

Definizione della corretta allocazione delle risorse per le appliance virtuali Zevenet

Tenendo conto del fatto che utilizziamo l'hypervisor più performante sul mercato in base al nostro test di laboratorio, possiamo ottenere una performance in ambienti virtuali ottimali di Load Balancer di Zevenet dal 7% al 20% di penalità rispetto alla stessa configurazione fisica.

Per vCPU dedicato possiamo stimare:

~ Richieste HTTP 18k al secondo con farm HTTP LSLB.
~ Richieste HTTP 220k al secondo con farm LSLB L4XNAT.

Se la persistenza della sessione è abilitata, dovremmo occuparci delle risorse di memoria della VM:

512 MB di RAM per servizio virtuale o farm istanziati nella VM.
512 aggiuntivo di RAM per servizio virtuale o farm con più di utenti 10,000.

Per quanto riguarda l'archiviazione, le appliance virtuali Zevenet allocano 8GB di disco che potrebbe essere ridimensionato se necessario, ma nella maggior parte dei casi dovrebbe essere sufficiente.

Condividere su:

Documentazione sotto i termini della GNU Free Documentation License.

questo articolo è stato utile?

Articoli Correlati