Algorithmes d’équilibrage de charge des pools d’hôtes dans Azure Virtual Desktop

Azure Virtual Desktop prend en charge deux algorithmes d’équilibrage de charge pour les pools d’hôtes. Chaque algorithme détermine l’hôte de la session utilisé lorsqu’un utilisateur démarre une session à distance. L’équilibrage de charge ne s’applique pas aux pools d’hôtes personnels, car les utilisateurs ont toujours une correspondance individuelle avec un hôte de session dans le pool d’hôtes.

Les algorithmes d’équilibrage de charge suivants sont disponibles pour les pools d’hôtes groupés :

  • Équilibrage de charge en largeur d’abord, qui vise à répartir uniformément les nouvelles sessions d’utilisateurs entre les hôtes de session d’un pool d’hôtes. Vous n’êtes pas obligé de spécifier une limite de session maximale pour le nombre de sessions.

  • Équilibrage de charge en profondeur d’abord, qui continue à démarrer de nouvelles sessions utilisateur sur un hôte de session jusqu’à ce que la limite maximale de session soit atteinte. Lorsque la limite de session est atteinte, toute nouvelle connexion d’utilisateur est dirigée vers l’hôte de session suivant dans le pool d’hôtes jusqu’à ce qu’il atteigne sa limite de session, et ainsi de suite.

Vous ne pouvez configurer qu’un seul de l’équilibrage de charge à la fois par pool d’hôtes, mais vous pouvez modifier celui qui est utilisé après la création d’un pool d’hôtes. Toutefois, les deux algorithmes d’équilibrage de charge partagent les comportements suivants :

  • Si un utilisateur a déjà une session active ou déconnectée dans le pool d’hôtes et se connecte à nouveau, l’équilibreur de charge les redirige vers l’hôte de session avec la session existante. Ce comportement s’applique même si le mode maintenance a été activé pour cet hôte de la session.

  • Si un utilisateur n’a pas encore de session sur un hôte de la session dans le pool d’hôtes, l’équilibreur de charge ne considère pas un hôte de la session où le mode maintenance a été activé.

  • Si vous réduisez la limite de session maximale sur un hôte de la session pendant qu’il dispose de sessions utilisateur actives, la modification n’affecte pas les sessions utilisateur existantes.

Algorithme d’équilibrage de charge en largeur d’abord

L’algorithme d’équilibrage de charge en largeur d’abord vise à distribuer les sessions utilisateur entre les hôtes de session pour optimiser les performances de session. L’équilibrage de charge en largeur d’abord est idéale pour les organisations qui souhaitent offrir la meilleure expérience aux utilisateurs qui se connectent à leurs ressources distantes, car les ressources hôtes de la session, telles que le processeur, la mémoire et le disque, sont généralement moins en concurrence.

L’algorithme charge en largeur d’abord interroge d’abord les hôtes de la session dans un pool d’hôtes qui autorisent les nouvelles connexions. L’algorithme sélectionne ensuite un hôte de session au hasard dans la moitié de l’ensemble des hôtes de la session disponibles ayant le moins de sessions. Par exemple, s’il y a neuf hôtes de la session avec 11, 12, 13, 14, 15, 16, 17, 18 et 19 sessions, une nouvelle session ne va pas automatiquement à l’hôte de la session ayant le moins de sessions. Au lieu de cela, il peut accéder à l’un des cinq premiers hôtes de la session avec le moins de sessions au hasard. En raison de la randomisation, certaines sessions peuvent ne pas être réparties uniformément entre tous les hôtes de la session.

Algorithme d’équilibrage de charge en profondeur d’abord

L’algorithme d’équilibrage de charge en profondeur vise à saturer un hôte de la session à la fois. Cet algorithme est idéal pour les organisations sensibles aux coûts qui veulent un contrôle plus précis sur le nombre d’hôtes de la session disponibles dans un pool d’hôtes, ce qui vous permet d’effectuer facilement un scale-down quand il y a moins d’utilisateurs.

L’algorithme d’équilibrage de charge en profondeur d’abord interroge d’abord les hôtes de la session qui autorisent les nouvelles connexions et qui n’ont pas atteint leur limite maximale de session. L’algorithme sélectionne ensuite l’hôte de la session ayant le plus grand nombre de sessions. S’il existe un lien, l’algorithme sélectionne le premier hôte de la session de la requête.

Vous devez définir une limite de session maximale lors de l’utilisation de l’algorithme de profondeur d’abord. Vous pouvez utiliser Azure Virtual Desktop Insights pour surveiller le nombre de sessions sur chaque hôte de session et le niveau de performance de l’hôte de session afin de déterminer la meilleure limite maximale de session pour votre environnement.

Important

Lorsque tous les hôtes de la session ont atteint la limite maximale de sessions, vous devez augmenter la limite ou ajouter des hôtes de session au pool d’hôtes.

Étapes suivantes