Как многие из вас знают, некоторое время назад VMware начала конкурировать с продуктом Citrix XenApp в своем решении VMware Horizon за счет обслуживания механизма доступа Microsoft RDSH (Remote Desktop Session Host) на серверах через Connection Server. На эту тему есть даже документ "Introduction to VMware Horizon 7 for Citrix Administrators", о котором мы недавно рассказывали.
В июне компания VMware выпустила интересный документ "RDSH Session Load-Balancing in Horizon 6 and Horizon 7", в котором рассматриваются вопросы балансировки нагрузки на ферму серверов RDSH, в рамках которой работают терминальные приложения и сессии пользователей.
В документе рассказывается о двух механизмах распределения сессий пользователей:
Балансировка на основе данных о производительности Windows Perfmon.
Размещение новых сессий за счет механизма правил Anti-affinity. Например, за счет паттернов anti-affinity можно определить, что на хосте RDSH можно запустить не более одного экземпляра тяжелого приложения AutoCAD.
Механизм анализа данных Perfmon для CPU, памяти и прочих ресурсов, реализованный в специальном скрипте, позволяет сообщить серверу Horizon Connection Server о том, в каком состоянии с точки зрения нагрузки он сейчас находится. Справа мы видим матрицу этих состояний:
Соответственно, на основе этих данных серверы Horizon Connection Servers принимают решение о том, куда направить ту или иную сессию RDSH. Понятное дело, что новые сессии будут направляться на хосты с преференсом HIGH (то есть, с низкой загрузкой системных ресурсов).