AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Администрирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 27.09.2010, 22:20   #1  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5798 (201) ++++++++++
Регистрация: 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).
Старый 28.09.2010, 09:37   #2  
fed is offline
fed
Moderator
Аватар для fed
Ex AND Project
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,907 / 5717 (196) ++++++++++
Регистрация: 13.03.2002
Адрес: Hüfingen,DE
А
Код:
-loadbalance=0 -aos2=server:port
не помогает ?
У меня так позволяет подключаться к конкретному серверу в кластере (вычитал где-то в блогах).
За это сообщение автора поблагодарили: Dron AKA andy (2), Vadik (1), gl00mie (7), Kabardian (3), samolalex (1), Товарищ ♂uatr (1).
Старый 25.02.2015, 18:25   #3  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2156 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
По поводу ошибки балансировки без балансировщика, очень похоже на эту проблему: Проблема балансировки в кластере AOS
__________________
Ivanhoe as is..
Старый 25.02.2015, 23:05   #4  
Kabardian is offline
Kabardian
Талантливый разгвоздяй
Аватар для Kabardian
 
424 / 338 (12) ++++++
Регистрация: 14.12.2008
Адрес: Москва
Записей в блоге: 14
Цитата:
Сообщение от gl00mie Посмотреть сообщение
Если выделенного AOS'а нет, то все новые сессии будут перенаправляться на первый AOS из кластера, пока тот не достигнет установленных пределов по числу одновременно активных сессий или используемых ресурсов.
....
Проверялось на AX 2009 SP1 RU4, RU5.
Когда-то уже читал эту тему и даже хотел опровергнуть вот это утверждение, но суета рабочих будней отвлекла. Не проверял на RU1,4,5, но точно помню, что проверял на AX 2009 RU6, и там как и в AX 4.0 распределение пользователей по АОС выполнялось равномерно что с балансировщиком, что без него.

Вообще тема балансировки старая,когда-то обсуждали балансировку в AX 4.0 и было утверждение:
Цитата:
Сообщение от AndyD Посмотреть сообщение
Балансировщик перенаправляет запросы на подключение на остальные серверы в кластере.
Его роль - равномерная загрузка рабочих AOS'ов (по количеству пользователей) с учетом максимального кол-ва клиентских сессий

Можно вообще обходиться без балансировщика, просто указать все AOS в конф. клиента.
Но тогда будет неравномерная загрузка - пока не заполнится один, подключений к другим не будет
...и следом опроверждение:
Цитата:
Сообщение от Kabardian Посмотреть сообщение
Не согласен. Даже без балансировщика пользователи достаточно равномерно распределяются по АОСам кластера с точностью до 1-3 пользователей.

Насколько помню, чтобы настроить такой кластер, достаточно:
  • установить для АОСов в кластере флаг "Make this AOS instance part of the load balancing cluster"
  • перечислить все АОСы из кластера в конфигурационном файле
Именно так, как я описывал и работает балансировка пользователей в AX 4.0 / 2009 / 2012 с поправкой на то, что какие-то параметры в конфигурационной утилите устарели со временем, но в целом - в плане балансировки пользователей принципиально ничего не измелось.
Старый 26.02.2015, 10:31   #5  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Зачем гадать
  • The AX client configuration determines which AOS instance that client will connect to.
  • If multiple AOS instances are listed, it will simply go down the list until it establishes contact.
  • If the contacted AOS instance is part of a load balanced cluster, that AOS will act as the load balancer. If not, the contacted AOS is used.
  • The load balancing logic is based on a count of current user sessions, and also takes into consideration the max concurrent sessions defined for the instance on the cluster.
  • If you have only one AOS instance listed in the client configuration, you have created a single point of failure. If no connection is established with that AOS, the client connection will fail, even if that AOS instance belongs to a cluster that has other AOS instances available for connection
AOS Load Balancing

На вопрос "зачем нужен балансировщик нагрузки" ответ такой
  • Балансировщик нагрузки нужен в основном для того чтобы упростить настройку и перенастройку клиентского подключения в случае если инстансов AOS реально много (10 и более). В этом случае список из двух-трех балансировщиков поддерживать актуальным относительно просто и рабочие инстансы AOS можно добавлять \ удалять \ останавливать на лету, не трогая конфигурацию клиента вообще
  • Снижение нагрузки на рабочие инстансы AOS при наличии балансировщика - минимально, даже при активном использовании сервисов. Зато позволяет минимизировать время подключения (вернее, время поиска наименее загруженного рабочего инстанса). Так как это влияет на время отклика системы, может быть критично при активном использовании сервисов, портала, AIF
  • Если решили использовать балансировщик нагрузки, их обязательно должно быть более одного - иначе имеем единую точку отказа. Собственно, поэтому использование выделенного балансировщика(ов) на небольших инсталляциях (навскидку менее 4-5 рабочих инстансов AOS) - IMHO из пушки по воробьям
__________________
-ТСЯ или -ТЬСЯ ?
За это сообщение автора поблагодарили: gl00mie (1), Kabardian (1).
Старый 26.02.2015, 15:12   #6  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5798 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от Kabardian Посмотреть сообщение
Не проверял на RU1,4,5, но точно помню, что проверял на AX 2009 RU6, и там как и в AX 4.0 распределение пользователей по АОС выполнялось равномерно что с балансировщиком, что без него.
Как отмечалось в первом сообщении темы, я проводил эксперименты на ядрах AX 2009 SP1 RU4 и RU5, как раз там, насколько я помню (все-таки 4.5 года прошло), без выделенного балансировщика всё было печально.
Цитата:
Сообщение от Vadik Посмотреть сообщение
Зачем гадать
  • The AX client configuration determines which AOS instance that client will connect to.
  • If multiple AOS instances are listed, it will simply go down the list until it establishes contact.
  • If the contacted AOS instance is part of a load balanced cluster, that AOS will act as the load balancer. If not, the contacted AOS is used.
Из моего опыта времен первого сообщения темы всё было не совсем так, как писал Cody Marshall спустя полтора года после моих экспериментов. Впрочем, не удивлюсь, если за прошедшее время в алгоритмы баналсировки нагрузки в ядре были внесены изменения
Цитата:
Сообщение от Vadik Посмотреть сообщение
  • The load balancing logic is based on a count of current user sessions, and also takes into consideration the max concurrent sessions defined for the instance on the cluster.
Это утверждение не совсем соответствует действительности, потому что AOS кроме пользовательских может обслуживать сессии другого типа, в т.ч. пакетные задания. Некоторые подробности логики балансировки описаны вот здесь.
Цитата:
Сообщение от Vadik Посмотреть сообщение
На вопрос "зачем нужен балансировщик нагрузки" ответ такой
  • Позволяет минимизировать время подключения (вернее, время поиска наименее загруженного рабочего инстанса). Так как это влияет на время отклика системы, может быть критично при активном использовании сервисов, портала, AIF
В целом согласен, кроме этого пункта: он справедлив лишь для 2009-й, где все подключения к AOS'у происходят по RPC, а в 2012-й часть подключений, в т.ч. при использовании сервисов, портала, AIF, SSRS, офисных примочек для Word/Excel, идет через WCF, которому AOS-балансировщик - не указ, там уже нужно настраивать NLB. См. Are your AX 2012 AOS servers load balancing?

Последний раз редактировалось gl00mie; 26.02.2015 в 15:26.
За это сообщение автора поблагодарили: Logger (3).
Старый 26.02.2015, 15:59   #7  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
Сообщение от gl00mie Посмотреть сообщение
КИз моего опыта времен первого сообщения темы всё было не совсем так, как писал Cody Marshall спустя полтора года после моих экспериментов[/URL]
Ну, лично для себя, так как балансировка работала так 'до' (в 4.0) и 'после' (в 2012) (на 2009 у меня были только маленькие инстансы из одного AOS), я скорее склонен считать что "что-то пошло не так" в рамках самого эксперимента

Цитата:
В целом согласен, кроме этого пункта: он справедлив лишь для 2009-й, где все подключения к AOS'у происходят по RPC, а в 2012-й часть подключений, в т.ч. при использовании сервисов, портала, AIF, SSRS, офисных примочек для Word/Excel, идет через WCF, которому AOS-балансировщик - не указ, там уже нужно настраивать NLB
А ведь да, так и есть. Надо еще подумать \ поэкспериментировать
__________________
-ТСЯ или -ТЬСЯ ?
Старый 26.02.2015, 16:38   #8  
Kabardian is offline
Kabardian
Талантливый разгвоздяй
Аватар для Kabardian
 
424 / 338 (12) ++++++
Регистрация: 14.12.2008
Адрес: Москва
Записей в блоге: 14
Цитата:
Сообщение от Vadik Посмотреть сообщение
я скорее склонен считать что "что-то пошло не так" в рамках самого эксперимента
И я тоже к этому склоняюсь, но проверить руки не доходят.
Теги
aos, ax2009, load balancing, кластер, параметры командной строки

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Dynamics AX Sustained Engineering: Microsoft Dynamics AX 4.0 and AX 2009 are compatible with Microsoft Windows 7 and Microsoft Windows Server 2008 R2 Blog bot DAX Blogs 0 22.09.2009 04:06
AX 2009 Technical Journal: Gartner Magic Quadrant Blog bot DAX Blogs 0 10.06.2009 01:05
jinx: Microsoft Dynamics AX 2009 Enterprise Portal Entwicklung Samples Blog bot DAX auf Deutsch 0 27.06.2008 04:06
Arijit Basu: AX 2009 - Quick Overview Blog bot DAX Blogs 4 19.05.2008 14:47
Dynamics AX: MSDW: What Will Be the Most Important Performance Enhancement in Dynamics AX 2009? Try Scaling of the AOS Blog bot DAX Blogs 1 09.05.2008 15:26
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 12:03.