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
Saiba como configurar o balanceamento de carga para um conjunto de anfitriões.
Compreenda como o dimensionamento automático pode dimensionar automaticamente o número de anfitriões de sessões disponíveis num conjunto de anfitriões.