Algoritmos de balanceamento de carga do conjunto de anfitriões no Azure Virtual Desktop

O Azure Virtual Desktop suporta dois algoritmos de balanceamento de carga para conjuntos de anfitriões agrupados. Cada algoritmo determina que anfitrião de sessão é utilizado quando um utilizador inicia uma sessão remota. O balanceamento de carga não se aplica a conjuntos de anfitriões pessoais porque os utilizadores têm sempre um mapeamento 1:1 para um anfitrião de sessão no conjunto de anfitriões.

Os seguintes algoritmos de balanceamento de carga estão disponíveis para conjuntos de anfitriões agrupados:

  • Amplitude em primeiro lugar, que visa distribuir uniformemente novas sessões de utilizador pelos anfitriões de sessões num conjunto de anfitriões. Não tem de especificar um limite máximo de sessões para o número de sessões.

  • Profundidade em primeiro lugar, que continua a iniciar novas sessões de utilizador num anfitrião de sessão até atingir o limite máximo de sessões. Assim que o limite de sessões for atingido, todas as novas ligações de utilizador são direcionadas para o anfitrião de sessão seguinte no conjunto de anfitriões até atingir o limite de sessões, etc.

Só pode configurar um dos balanceamentos de carga de cada vez por conjunto de anfitriões agrupados, mas pode alterar o que é utilizado após a criação de um conjunto de anfitriões. No entanto, ambos os algoritmos de balanceamento de carga partilham os seguintes comportamentos:

  • Se um utilizador já tiver uma sessão ativa ou desligada no conjunto de anfitriões e iniciar sessão novamente, o balanceador de carga irá redirecioná-lo com êxito para o anfitrião da sessão com a sessão existente. Este comportamento aplica-se mesmo que o modo de drenagem tenha sido ativado para esse anfitrião de sessão.

  • Se um utilizador ainda não tiver uma sessão num anfitrião de sessão no conjunto de anfitriões, o balanceador de carga não considera um anfitrião de sessão onde o modo de drenagem tenha sido ativado.

  • Se reduzir o limite máximo de sessões num anfitrião de sessão enquanto este tiver sessões de utilizador ativas, a alteração não afetará as sessões de utilizador existentes.

Algoritmo de balanceamento de carga de amplitude

O algoritmo de balanceamento de carga de amplitude tem como objetivo distribuir sessões de utilizador pelos anfitriões de sessão para otimizar o desempenho da sessão. A amplitude em primeiro lugar é ideal para organizações que pretendem proporcionar a melhor experiência para os utilizadores que se ligam aos seus recursos remotos, uma vez que os recursos do anfitrião de sessões, como a CPU, a memória e o disco, são geralmente menos suportados.

O algoritmo amplitude-primeiro consulta os anfitriões de sessões num conjunto de anfitriões que permitem novas ligações. Em seguida, o algoritmo seleciona um anfitrião de sessão aleatoriamente a partir de metade do conjunto de anfitriões de sessões disponíveis com menos sessões. Por exemplo, se existirem nove anfitriões de sessão com 11, 12, 13, 14, 15, 16, 17, 18 e 19 sessões, uma nova sessão não irá automaticamente ao anfitrião da sessão com menos sessões. Em vez disso, pode aceder a qualquer um dos cinco primeiros anfitriões de sessão com menos sessões aleatoriamente. Devido à aleatoriedade, algumas sessões podem não ser distribuídas uniformemente por todos os anfitriões de sessão.

Algoritmo de balanceamento de carga de profundidade

O algoritmo de balanceamento de carga de profundidade tem como objetivo saturar um anfitrião de sessão de cada vez. Este algoritmo é ideal para organizações conscientes dos custos que pretendem um controlo mais granular sobre o número de anfitriões de sessão disponíveis num conjunto de anfitriões, o que lhe permite reduzir verticalmente mais facilmente quando há menos utilizadores.

O algoritmo de profundidade primeiro consulta os anfitriões de sessão que permitem novas ligações e não atingiram o limite máximo de sessões. Em seguida, o algoritmo seleciona o anfitrião da sessão com a maioria das sessões. Se existir um empate, o algoritmo seleciona o primeiro anfitrião de sessão na consulta.

Tem de definir um limite máximo de sessão ao utilizar o algoritmo depth-first. Pode utilizar o Azure Virtual Desktop Insights para monitorizar o número de sessões em cada anfitrião de sessões e desempenho do anfitrião de sessões para ajudar a determinar o melhor limite máximo de sessões para o seu ambiente.

Importante

Assim que todos os anfitriões de sessão atingirem o limite máximo de sessões, terá de aumentar o limite ou adicionar mais anfitriões de sessão ao conjunto de anfitriões.

Passos seguintes