Azure 虛擬桌面中的主機集區負載平衡演算法

Azure 虛擬桌面支援兩種適用於集區式主機集區的負載平衡演算法。 每種演算法都會在使用者啟動遠端工作階段時,決定使用哪個工作階段主機。 負載平衡不適用於個人主機集區,因為使用者一律會在主機集區內以 1 比 1 對應至工作階段主機。

下列負載平衡演算法可用於集區式主機集區:

  • 廣度優先,目的是將新的使用者工作階段平均分散到主機集區中的工作階段主機。 您不需要指定工作階段數目的工作階段上限。

  • 深度優先,這會在一個工作階段主機上持續啟動新的使用者工作階段,直到達到工作階段上限為止。 達到工作階段限制之後,就會將任何新的使用者連線導向主機集區中的下一個工作階段主機,直到達到其工作階段限制為止,依此類推。

每個集區式主機集區一次只能設定其中一個負載平衡,但您可以在建立主機集區之後變更要使用的負載平衡。 然而,這兩種負載平衡演算法都會共用下列行為:

  • 如果使用者已在主機集區中擁有作用中或已中斷連線的工作階段,然後再次登入時,負載平衡器就會使用現有的工作階段,成功將其重新導向至工作階段主機。 即使該工作階段主機已啟用清空模式,仍會套用此行為。

  • 如果使用者在主機集區中的工作階段主機上還沒有工作階段,則負載平衡器不會考慮其中已啟用清空模式的工作階段主機。

  • 當工作階段主機上有作用中的使用者工作階段時,如果您降低工作階段上限,該變更不會影響現有的使用者工作階段。

廣度優先負載平衡演算法

廣度優先負載平衡演算法的目的是將使用者工作階段分散到工作階段主機,進而將工作階段效能最佳化。 廣度優先適用於想要為連線至其遠端資源的使用者提供最佳體驗的組織,因為工作階段主機資源 (例如 CPU、記憶體和磁碟) 通常較少爭用。

廣度優先演算法會先查詢主機集區中允許新連線的工作階段主機。 接著,演算法會在可用工作階段主機的組合中,從其中半數具有最少工作階段的工作階段主機中,隨機選取一個工作階段主機。 例如,如果有 9 個工作階段主機具有 11、12、13、14、15、16、17、18 和 19 個工作階段,新的工作階段不會自動移至具有最少工作階段的工作階段主機。 而是隨機移至前五個具有最少工作階段的工作階段主機中的任何一個。 由於隨機化的緣故,某些工作階段可能不會平均分散到所有工作階段主機。

深度優先負載平衡演算法

深度優先負載平衡演算法的目的是一次填滿一個工作階段主機。 此演算法適用於有成本意識、想要更細微地控制主機集區中可用工作階段主機數目的組織,讓您在較少使用者時更輕鬆地調降規模。

深度優先演算法會先查詢允許新連線,且尚未達到工作階段上限的工作階段主機。 然後,演算法會選取具有最多工作階段的工作階段主機。 如果有工作階段數目相同的情形,則選取查詢中的第一個工作階段主機。

使用深度優先演算法時,您必須設定工作階段上限。 您可以使用 Azure 虛擬桌面深入解析監視每個工作階段主機上的工作階段數目工作階段主機效能,協助判斷適合您環境的最佳工作階段上限。

重要

一旦所有工作階段主機達到工作階段上限,您必須提高限制,或將更多工作階段主機新增至主機集區

下一步