Algoritmos de balanceamento de carga do pool de host na Área de Trabalho Virtual do Azure

A Área de Trabalho Virtual do Azure dá suporte a dois algoritmos de balanceamento de carga para pools de hosts em pool. Cada algoritmo determina qual host de sessão é usado quando um usuário inicia uma sessão remota. Isso não se aplica a um pool de host de área de trabalho persistente porque os usuários sempre têm um mapeamento 1:1 para um host de sessão dentro do pool de host.

Os seguintes algoritmos de balanceamento de carga estão disponíveis para pools de hosts em pool:

  • Largura primeiro, que visa distribuir uniformemente novas sessões de usuário entre os hosts de sessão em um pool de hosts. Não é necessário especificar um limite máximo de sessão para o número de sessões.

  • Profundidade primeiro, que continua iniciando novas sessões de usuário em um host de sessão até que o limite máximo de sessão seja atingido. Depois que a primeira sessão atingir o limite, o balanceador de carga direcionará todas as novas conexões de usuário para o próximo host da sessão no pool de host até atingir seu limite e assim por diante.

Você só pode configurar um dos balanceamento de carga por vez por pool de host em pool, mas pode alterar qual deles é usado depois que um pool de host é criado. No entanto, ambos os algoritmos de balanceamento de carga compartilham os seguintes comportamentos:

  • Se um usuário já tiver uma sessão ativa ou desconectada no pool de host e entrar novamente, o balanceador de carga vai redirecioná-lo com sucesso para o host de sessão da sessão existente. Esse comportamento se aplica mesmo se o modo esvaziar tiver sido habilitado para esse host de sessão.

  • Se um usuário ainda não tiver uma sessão em um host de sessão no pool de host, o balanceador de carga não considerará um host de sessão em que o modo esvaziar foi habilitado.

  • Se você reduzir o limite máximo de sessão em um host de sessão enquanto ele tiver sessões de usuário ativas, a alteração não afetará as sessões ativas do usuário.

Algoritmo de balanceamento de carga Largura primeiro

O algoritmo de balanceamento de carga Largura primeiro permite que você distribua sessões de usuário em todos os hosts de sessão para otimizar o desempenho da sessão. Largura primeiro é ideal para organizações que desejam fornecer a melhor experiência para os usuários que se conectam aos seus recursos remotos, pois recursos de host de sessão, como CPU, memória e disco, geralmente são menos enfrentados.

O algoritmo de balanceamento Largura primeiro consulta primeiro os hosts da sessão que permitem novas conexões. O algoritmo seleciona um host de sessão aleatoriamente da metade do conjunto de hosts da sessão com o menor número de sessões. Por exemplo, se houver nove hosts de sessão com 11, 12, 13, 14, 15, 16, 17, 18 e 19 sessões, uma nova sessão não irá automaticamente para o host de sessão com menos sessões. Em vez disso, ele pode ir para qualquer um dos cinco primeiros hosts de sessão com o menor número de sessões aleatoriamente. Devido à randomização, algumas sessões podem não ser distribuídas uniformemente entre todos os hosts da sessão.

Algoritmo de balanceamento de carga Profundidade primeiro

O algoritmo de balanceamento de carga Profundidade primeiro tem como objetivo saturar um host de sessão por vez. Esse algoritmo é ideal para organizações conscientes de custo que desejam um controle mais granular sobre o número de hosts de sessão disponíveis em um pool de hosts, permitindo que você reduza verticalmente mais facilmente quando houver menos usuários.

O algoritmo de balanceamento Profundidade primeiro consulta os hosts da sessão que permitem novas conexões e que não ultrapassaram o limite máximo de sessão. O algoritmo seleciona o host da sessão com o número mais alto de sessões. Se houver um vínculo, o algoritmo selecionará o primeiro host da sessão na consulta.

Você deve definir um limite máximo de sessão ao usar o algoritmo Profundidade primeiro. Você pode usar o Insights da Área de Trabalho Virtual do Azure para monitorar o número de sessões em cada host de sessão e o desempenho do host da sessão para ajudar a determinar o melhor limite máximo de sessão para seu ambiente.

Importante

Depois que todos os hosts de sessão atingirem o limite máximo de sessão, será necessário aumentar o limite ou adicionar mais hosts de sessão ao pool de hosts.

Próximas etapas