Показать сообщение отдельно
Старый 27.09.2010, 22:20   #1  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5788 (200) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
AX 2009: зачем нужен балансировщик нагрузки, и как в кластере зайти на определенный AOS?
По ходу экспериментов я "открыл для себя", зачем в AX 2009 нужен выделенный AOS для балансировки нагрузки (то ли я невнимательно читал документацию, то ли в ней на этом не акцентированно внимание). Если настроить кластер AOS'ов, каждый из которых имеет то или иное ограничение по максимальному числу активных сессий, то от наличия/отсутствия выделенного AOS'а-балансировщика нагрузки будет очень сильно зависеть то, как будут распределяться новые сессии между серверами кластера. Если выделенного AOS'а нет, то все новые сессии будут перенаправляться на первый AOS из кластера, пока тот не достигнет установленных пределов по числу одновременно активных сессий или используемых ресурсов. Причем это происходит независимо (!) от того, указан ли в конфигурационном файле клиента этот AOS. Т.е. в документации пишут, что при отсутствии выделенного балансировщика надо в конфиге указывать все AOS'ы, входящие в кластер, а из моего опыта, можно даже один-единственный (условно говоря, "последний") AOS указать - он все равно перебросит подключение на первый еще не забитый под завязку AOS из кластера, даже если клиент исходно о существовании этого AOS'а не подозревает. Иными словами, что при наличии, что при отсутствии выделенного балансировщика можно в конфиге указать один-единственный AOS из кластера, вопреки тому, что пишут в документации.
Но интересно также то, что в AX 2009 балансировка нагрузки без выделенного AOS'а-балансировщика (который только раскидывает новых пользователей, сам не выполняя код приложения) стала очень "навязчивой" - все AOS'ы, запущенные на одной базе, по умолчанию считаются работающими в кластере и при этом стараются сбросить всех новых пользователей на первый AOS в этом "кластере", пока тот не достигнет своих ограничений по нагрузке (как было описано выше). Это может быть неудобно, если из такого "кластера" хочется выделить какой-то AOS под определенных пользователей, например, под какое-то подразделение, работу которого хочется администрировать обособленно.
На TechNet есть документация по администрированию AX 2009, в частности, там есть очень полезный раздел по параметрам командной строки AOS'а, в котором было найдено решение указанной проблемы: нужно в настройки запуска AOS'а добавить параметр
Код:
-LoadBalance=0
в этом случае при попытке подключения пользователя непосредственно к этому AOS'у последний не будет пытаться "перекинуть" соедениение на другой AOS. Но открытым остается вопрос: как в AX 2009 подключиться к произвольному серверу из кластера?

Проверялось на AX 2009 SP1 RU4, RU5.

Последний раз редактировалось gl00mie; 27.09.2010 в 22:26.
За это сообщение автора поблагодарили: glibs (1), Zabr (3), Logger (3), FreeD (1), Товарищ ♂uatr (1).