Azure Virtual Desktop의 호스트 풀 부하 분산 알고리즘

Azure Virtual Desktop은 풀링된 호스트 풀에 대한 두 가지 부하 분산 알고리즘을 지원합니다. 각 알고리즘은 사용자가 원격 세션을 시작할 때 사용되는 세션 호스트를 결정합니다. 사용자가 항상 호스트 풀 내의 세션 호스트에 1:1 매핑이 있기 때문에 부하 분산은 개인 호스트 풀에 적용되지 않습니다.

풀링된 호스트 풀에 사용할 수 있는 부하 분산 알고리즘은 다음과 같습니다.

  • 호스트 풀의 세션 호스트에 새 사용자 세션을 균등하게 분산하는 것을 목표로 하는 폭 우선. 세션 수에 대한 최대 세션 제한을 지정할 필요가 없습니다.

  • 최대 세션 제한에 도달할 때까지 한 세션 호스트에서 새 사용자 세션을 계속 시작하는 깊이 우선. 세션 제한에 도달하면 새 사용자 연결은 세션 제한에 도달할 때까지 호스트 풀의 다음 세션 호스트로 전달됩니다.

풀링된 호스트 풀당 한 번에 하나의 부하 분산만 구성할 수 있지만 호스트 풀을 만든 후에 사용되는 부하 분산을 변경할 수 있습니다. 그러나 두 부하 분산 알고리즘은 다음 동작을 공유합니다.

  • 사용자가 호스트 풀에 이미 활성 또는 연결이 끊긴 세션이 있고 다시 로그인하는 경우 부하 분산 장치는 기존 세션을 사용하여 세션 호스트로 성공적으로 리디렉션됩니다. 이 동작은 해당 세션 호스트에 대해 드레이닝 모드를 사용하도록 설정한 경우에도 적용됩니다.

  • 사용자에게 호스트 풀의 세션 호스트에 세션이 아직 없는 경우 부하 분산 장치는 드레이닝 모드가 활성화된 세션 호스트를 고려하지 않습니다.

  • 활성 사용자 세션이 있는 동안 세션 호스트의 최대 세션 제한을 낮추면 변경 내용이 기존 사용자 세션에 영향을 미치지 않습니다.

폭 우선 부하 분산 알고리즘

폭 우선 부하 분산 알고리즘을 사용하면 세션 호스트 간에 사용자 세션을 배포하여 세션 성능을 최적화할 수 있습니다. 폭 우선은 CPU, 메모리 및 디스크와 같은 세션 호스트 리소스가 일반적으로 덜 경합되므로 원격 리소스에 연결하는 사용자에게 최상의 환경을 제공하려는 조직에 적합합니다.

폭 우선 알고리즘은 먼저 새 연결을 허용하는 호스트 풀의 세션 호스트를 쿼리합니다. 그런 다음 이 알고리즘은 세션이 가장 적은 사용 가능한 세션 호스트 집합의 절반에서 무작위로 세션 호스트를 선택합니다. 예를 들어 11, 12, 13, 14, 15, 16, 17, 18 및 19 세션이 있는 9개의 세션 호스트가 있는 경우 새 세션이 가장 적은 세션이 있는 세션 호스트로 자동으로 이동하지 않습니다. 대신, 임의로 가장 적은 세션이 있는 처음 5개의 세션 호스트 중 어느 호스트로 이동할 수 있습니다. 무작위화로 인해 일부 세션이 모든 세션 호스트에 균등하게 분산되지 않을 수 있습니다.

깊이 우선 부하 분산 알고리즘

깊이 우선 부하 분산 알고리즘은 한 번에 하나의 세션 호스트를 포화하는 것을 목표로 합니다. 이 알고리즘은 호스트 풀에서 사용할 수 있는 세션 호스트 수를 보다 세부적으로 제어하려는 비용에 민감한 조직에 적합하므로 사용자가 적을 때 더 쉽게 축소할 수 있습니다.

깊이 우선 알고리즘은 먼저 새 연결을 허용하고 최대 세션 제한을 초과하지 않은 세션 호스트를 쿼리합니다. 그런 다음 이 알고리즘은 세션 수가 가장 많은 세션 호스트를 선택합니다. 연결된 경우 알고리즘은 쿼리의 첫 번째 세션 호스트를 선택합니다.

깊이 우선 알고리즘을 사용하는 경우 최대 세션 제한을 설정해야 합니다. Azure Virtual Desktop Insights를 사용하여 각 세션 호스트의 세션 수세션 호스트 성능을 모니터링하여 사용자 환경에 가장 적합한 최대 세션 제한을 결정할 수 있습니다.

Important

모든 세션 호스트가 최대 세션 제한에 도달하면 제한을 늘리거나 더 많은 세션 호스트를 호스트 풀에 추가해야 합니다.

다음 단계