Algoritmi di bilanciamento del carico del pool di host in Desktop virtuale Azure

Desktop virtuale Azure supporta due algoritmi di bilanciamento del carico per i pool di host in pool. Ogni algoritmo determina quale host sessione viene usato quando un utente avvia una sessione remota. Il bilanciamento del carico non si applica ai pool di host personali perché gli utenti hanno sempre un mapping 1:1 a un host di sessione all'interno del pool di host.

Per i pool di host in pool sono disponibili gli algoritmi di bilanciamento del carico seguenti:

  • Breadth-first, che mira a distribuire uniformemente nuove sessioni utente tra gli host di sessione in un pool di host. Non è necessario specificare un limite massimo di sessioni per il numero di sessioni.

  • Depth-first, che mantiene l'avvio di nuove sessioni utente in un host di sessione fino al raggiungimento del limite massimo di sessione. Una volta raggiunto il limite di sessione, tutte le nuove connessioni utente vengono indirizzate all'host sessione successivo nel pool di host finché non raggiunge il limite di sessione e così via.

È possibile configurare solo uno dei servizi di bilanciamento del carico alla volta per ogni pool di host in pool, ma è possibile modificare quello usato dopo la creazione di un pool di host. Tuttavia, entrambi gli algoritmi di bilanciamento del carico condividono i comportamenti seguenti:

  • Se un utente ha già una sessione attiva o disconnessa nel pool di host e accede di nuovo, il servizio di bilanciamento del carico li reindirizzerà correttamente all'host della sessione con la sessione esistente. Questo comportamento si applica anche se la modalità di svuotamento è stata abilitata per l'host di sessione.

  • Se un utente non ha già una sessione in un host di sessione nel pool di host, il servizio di bilanciamento del carico non considera un host di sessione in cui è stata abilitata la modalità di svuotamento.

  • Se si riduce il limite massimo di sessione in un host di sessione con sessioni utente attive, la modifica non influisce sulle sessioni utente esistenti.

Algoritmo di bilanciamento del carico breadth-first

L'algoritmo di bilanciamento del carico di ampiezza mira a distribuire le sessioni utente tra gli host di sessione per ottimizzare le prestazioni della sessione. Breadth-first è ideale per le organizzazioni che vogliono offrire un'esperienza ottimale per gli utenti che si connettono alle risorse remote come risorse host sessione, ad esempio CPU, memoria e disco, sono in genere meno contese.

L'algoritmo breadth-first esegue prima query sugli host di sessione in un pool di host che consentono nuove connessioni. L'algoritmo seleziona quindi un host di sessione in modo casuale dalla metà del set di host di sessione disponibili con le sessioni più poche. Ad esempio, se sono presenti nove host di sessione con 11, 12, 13, 14, 15, 16, 17, 18 e 19 sessioni, una nuova sessione non passa automaticamente all'host di sessione con le sessioni più poche. In alternativa, può passare a uno dei primi cinque host di sessione con le sessioni più poche in modo casuale. A causa della casualizzazione, alcune sessioni potrebbero non essere distribuite uniformemente in tutti gli host di sessione.

Algoritmo di bilanciamento del carico depth-first

L'algoritmo di bilanciamento del carico depth-first mira a saturare un host di sessione alla volta. Questo algoritmo è ideale per le organizzazioni consapevoli dei costi che vogliono un controllo più granulare sul numero di host di sessione disponibili in un pool di host, consentendo di ridurre più facilmente le prestazioni quando sono presenti meno utenti.

L'algoritmo depth-first esegue prima query sugli host di sessione che consentono nuove connessioni e non hanno raggiunto il limite massimo di sessione. L'algoritmo seleziona quindi l'host di sessione con la maggior parte delle sessioni. Se è presente un legame, l'algoritmo seleziona il primo host di sessione dalla query.

È necessario impostare un limite massimo di sessione quando si usa l'algoritmo depth-first. È possibile usare Azure Virtual Desktop Insights per monitorare il numero di sessioni in ogni host sessione e prestazioni dell'host sessione per determinare il limite massimo massimo di sessioni per l'ambiente.

Importante

Dopo che tutti gli host di sessione hanno raggiunto il limite massimo di sessione, è necessario aumentare il limite o aggiungere più host di sessione al pool di host.

Passaggi successivi