Equilibrando pools de hosts

Concluído

A Área de Trabalho Virtual do Azure dá suporte a dois métodos de balanceamento de carga. Cada método determina qual host de sessão hospedará a sessão de um usuário quando ele se conectar a um recurso em um pool de hosts.

Os seguintes métodos de balanceamento de carga estão disponíveis na Área de Trabalho Virtual do Azure:

  • O balanceamento de carga ampliado permite distribuir uniformemente sessões de usuário entre os hosts de sessão em um pool de hosts.
  • O balanceamento de carga de profundidade inicial permite saturar um host de sessão com sessões de usuário em um pool de hosts. Quando a primeira sessão atinge seu limite de limite de sessão, o balanceador de carga direciona quaisquer novas conexões de usuário para o próximo host de sessão no pool de hosts até que ele atinja seu limite, e assim por diante.

Cada pool de hosts só pode configurar um tipo de balanceamento de carga específico para ele. No entanto, ambos os métodos de balanceamento de carga compartilham os seguintes comportamentos, independentemente do pool de hosts em que estejam:

  • Se um usuário já tiver uma sessão no pool de hosts e estiver se reconectando a essa sessão, o balanceador de carga o redirecionará com êxito para o host da sessão com sua sessão existente. Esse comportamento se aplica mesmo se a propriedade AllowNewConnections do host de sessão estiver definida como False.
  • Se um usuário ainda não tiver uma sessão no pool de hosts, o balanceador de carga não considerará hosts de sessão cuja propriedade AllowNewConnections esteja definida como False durante o balanceamento de carga.

Método de balanceamento de carga de amplitude inicial

O método de balanceamento de carga ampliado primeiro permite distribuir conexões de usuário para otimizar para esse cenário. Esse método é ideal para organizações que desejam fornecer a melhor experiência para os usuários que se conectam ao seu ambiente de área de trabalho virtual em pool.

Diagrama de pools de hosts configurados para o modo de amplitude.

O método broadth-first consulta primeiro os hosts de sessão que permitem novas conexões. Em seguida, o método seleciona um host de sessão aleatoriamente de metade do conjunto de hosts de sessão com o menor número de sessões. Por exemplo, se houver nove máquinas com 11, 12, 13, 14, 15, 16, 17, 18 e 19 sessões, uma nova sessão criada não irá automaticamente para a primeira máquina. Em vez disso, ele pode ir para qualquer uma das cinco primeiras máquinas com o menor número de sessões (11, 12, 13, 14, 15).

Método de balanceamento de carga de profundidade inicial

O método de balanceamento de carga de profundidade inicial permite saturar um host de sessão de cada vez para otimizar para esse cenário. Esse método é ideal para organizações conscientes dos custos que desejam um controle mais granular sobre o número de máquinas virtuais que alocaram para um pool de hosts.

Diagrama de pools de hosts configurados para o modo de profundidade.

O método depth-first consulta primeiro os hosts de sessão que permitem novas conexões e não ultrapassaram seu limite máximo de sessão. Em seguida, o método seleciona o host da sessão com o maior número de sessões. Se houver um empate, o método selecionará o primeiro host de sessão na consulta.

O algoritmo de balanceamento de carga de profundidade primeiro distribui sessões para hosts de sessão com base no limite máximo de host de sessão. Esse parâmetro é necessário quando você usa o algoritmo de balanceamento de carga de profundidade inicial. Para obter a melhor experiência de usuário possível, certifique-se de alterar o parâmetro maximum session host limit para um número que melhor se adapte ao seu ambiente.