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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 12.05.2012, 16:50   #1  
propeller is offline
propeller
Участник
Аватар для propeller
 
359 / 29 (1) +++
Регистрация: 25.07.2007
? Много групп прав и производительность...
AX 2009 RU7
Заметил такую вещь: если у пользователя большое количество групп прав (~ 300, это для теста) то форма "Клиенты" - "функции" - "сопоставление открытых проводок" открывается около минуты с дикомедленной прорисовкой каждой строчки.
Если у этого же пользователя оставить одну группу прав - открывается на ура за 1 секунду.
Та же пропорция по времени выполняется и в момент "пометки" строк.

Пока такой глюк заметил только с этой формой, например те же формы "клиенты" и "заказы на продажу" открывается одинаково быстро.

Форма "сопоставление открытых проводок" и связанные с ней таблицы не модифицированы.
Есть ли в ax2009 такое правило: чем больше групп прав у пользователя тем ему хуже?=)
Старый 12.05.2012, 17:49   #2  
_scorp_ is offline
_scorp_
Участник
Аватар для _scorp_
MCBMSS
 
488 / 369 (13) ++++++
Регистрация: 25.07.2007
Адрес: Москва
Если на группах есть настройки RLS, то да - зависимость должна быть. В момент открытия формы будет "вычисляться" суммарный запрос, который должен быть отправлен на SQL-сервер. Ну а дальше смотрите итоговый план выполнения запроса. Возможно, после добавления всех RLS-ренджей существующие индексы будут уже не оптимальными.
Старый 12.05.2012, 18:09   #3  
BOAL is offline
BOAL
Участник
Аватар для BOAL
MCBMSS
Злыдни
1C
Лучший по профессии 2015
 
619 / 453 (17) +++++++
Регистрация: 28.04.2003
Адрес: Москва
Была ситуация на проекте, что на 300 юзеров приходилось 900 групп прав
Кончилось тем, что сочтя это бредом, волевым усилием перешли со схемы ролевых\функциональных групп на 1 юзер == 1 группа именованная
Были написаны утилиты слияния кучи групп в 1 и копирования прав.

Группы РЛС шли отдельно, в них был только РЛС настройки и включены таблицы, на которые он (тк без этих ключей, настройки РЛС просто игнорируются)

Управляемость резко возросла.

Чего и вам...
очевидно, что 300 групп на одного юзера (пусть и на тесте) это много, тк будет гоняться цикл проверок, как написал _scorp_. И менеджерить такое админам - жесть!
За это сообщение автора поблагодарили: RVS (1).
Старый 12.05.2012, 18:17   #4  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2155 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Не обязательно в RLS дело. В некоторых местах системы в коде есть явная проверка на доступность какого-то действия (таблицы). В этот момент система "суммирует" права по всем группам и это может быть реально долго. Например, на форуме уже обсуждали проблему при работе с оповещениями - там при создании каждого оповещения явно проверяются права получателя на форму для просмотра источника оповещения. В итоге это может занимать такое время, что оповещения не будут успевать рассылаться за время выполнения пакетного задания, а далее по нарастающей вплоть до остановки системы оповещений в принципе.
__________________
Ivanhoe as is..
Старый 12.05.2012, 18:22   #5  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2155 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Насчет стратегии групп. Больше 5-10 групп на пользователя не приходилось делать. Как правило - одна группа с общими правами сотрудника, одна-две-три группы с функциональностью, две-три группы с RLS (не всегда используются). Если получается больше - нужно выделять более точечные роли.
В крайних случаях, действительно доходят до роли "МарияИвановнаПетрозаводск", но на на моих проектах такого ни разу не допускалось
__________________
Ivanhoe as is..
Старый 14.05.2012, 01:29   #6  
RVS is offline
RVS
Сенбернар
Аватар для RVS
Злыдни
 
696 / 130 (6) +++++
Регистрация: 27.02.2003
Адрес: Королев МО
Цитата:
Сообщение от propeller Посмотреть сообщение
AX 2009 RU7
большое количество групп прав (~ 300, это для теста)
Я бы думал так:
- ограничение прав есть нагрузка на систему. Полюбому. Она, перед тем, как что-то там показать, должна подумать - 'а можно?' Это занимает время. У вас, у меня, у Аксы.
- 300 групп - это песня Господа, ГРУППА - это набор прав и обязанностей (это связано обычно, напрямую) пользователя. Сейлс, хуман, мастер цеха, наконец... бухгалтер... 300 - не бывает, или я чего-то не понимаю в этой жизни.

Сухой остаток: посмотрите на то, как организованы эти группы. И зачем - именно так. Найдете много интересного, я знаю

А Акса - всего лишь программа, хотя и хорошая. Она честно пытается сделать то, что ВЫ пытаетесь заставить ее делать.

Вооот...
__________________
Best Regards,
Roman
Старый 14.05.2012, 10:07   #7  
propeller is offline
propeller
Участник
Аватар для propeller
 
359 / 29 (1) +++
Регистрация: 25.07.2007
Цитата:
Сообщение от _scorp_ Посмотреть сообщение
Если на группах есть настройки RLS, то да - зависимость должна быть.
В том то и дело, что никаких RLS.
300 групп - это сделал для теста, чтобы убедиться, что количество групп действительно влияет.

В рабочей среде у пользователя 20-30 групп. Согласен, что не мало, но мы пошли правилу "минимально неделимый функционал" и так разбили группы.

Какие варианты решения? только пересматривать количество групп? или можно сделать модификацию на данной форме? (ведь остальные работают нормально)
Старый 14.05.2012, 10:40   #8  
SRF is offline
SRF
Участник
MCBMSS
Axapta Retail User
 
365 / 542 (19) +++++++
Регистрация: 08.08.2007
Записей в блоге: 1
Цитата:
Сообщение от propeller Посмотреть сообщение
В том то и дело, что никаких RLS.
В этой форме безумное количество вызовов changeCompany(), видимо с этим и связаны тормоза при большом количестве групп прав.

Посмотрите, какими-нибудь средствами, что "убивает систему", например, SQL-профайлером или мониторингом запросов, если это окажется changeCompany, то скорее скорее всего придется уменьшать количество групп, если у вас более одной компании, в другом случае можно подумать и об модификации и оптимизации запросов.
__________________
Sergey Nefedov
Старый 14.05.2012, 12:00   #9  
_scorp_ is offline
_scorp_
Участник
Аватар для _scorp_
MCBMSS
 
488 / 369 (13) ++++++
Регистрация: 25.07.2007
Адрес: Москва
Слышал от одного коллеги про подобный баг. Вроде бы баг даже зарегистрирован в MS. Возможно, это Ваш случай. Смысл в том, что если на форме используются данные из виртуальных компаний и на форме присутствуют дисплейные поля, то совместно с вызовом дисплейного метода идут запросы к таблице AccessRightsList. И запросы идут в бешеном количестве, что очень хорошо видно в профайлере.

Последний раз редактировалось _scorp_; 14.05.2012 в 12:37.
Старый 14.05.2012, 13:11   #10  
RVS is offline
RVS
Сенбернар
Аватар для RVS
Злыдни
 
696 / 130 (6) +++++
Регистрация: 27.02.2003
Адрес: Королев МО
Цитата:
Сообщение от propeller Посмотреть сообщение
В том то и дело, что никаких RLS.
300 групп - это сделал для теста, чтобы убедиться, что количество групп действительно влияет.
Убедились?

Цитата:
Сообщение от propeller Посмотреть сообщение
В рабочей среде у пользователя 20-30 групп. Согласен, что не мало, но мы пошли правилу "минимально неделимый функционал" и так разбили группы.
Не может их быть столько. У ПОЛЬЗОВАТЕЛЯ. А всего их - сколько, примерно, не секрет если?

Цитата:
Сообщение от propeller Посмотреть сообщение
Какие варианты решения? только пересматривать количество групп? или можно сделать модификацию на данной форме? (ведь остальные работают нормально)
Думать... головой. Sorry for my English
__________________
Best Regards,
Roman
Старый 15.05.2012, 01:53   #11  
vanokh is offline
vanokh
Участник
 
108 / 63 (3) ++++
Регистрация: 23.10.2008
у нас Сопоставление открытых проводок и пометка тормозило при кол-ве групп порядка 100.
как выяснилось более критична была опция CrossCompanyAutoQuery на датасорсе - детально не исследовали, но судя по профайлеру уходила пачка запросов на все компании + AccessRightList.
у себя отключили, потому как не используем сопоставления между компаниями - сразу стало все летать)

Последний раз редактировалось vanokh; 15.05.2012 в 01:57.
За это сообщение автора поблагодарили: Logger (3), lev (2), propeller (1).
Теги
права доступа, права доступа на уровне записей (rls), производительность, сопоставление

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Печать прав групп пользователей Merlin2001 DAX: Администрирование 10 13.12.2011 13:17
Что лучше, много номенклатур или много конфигураций? axvrp DAX: Функционал 75 21.09.2010 16:13
Перенос прав групп пользователей. Переход с 3.0 на 4.0 ppson DAX: Функционал 3 13.08.2008 17:22
при построении перекрёстных ссылок выдаётся сообщение об ошибках mmmax DAX: Программирование 10 21.01.2005 12:42
Аудит изменения прав групп пользователей Grey DAX: Администрирование 1 17.12.2004 13:05

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 10:37.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.