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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 02.10.2006, 11:51   #1  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Цитата:
Построение перекрестных ссылок лучше не делать на сервере.
Построение перекрестных ссылок лучше не делать в период, когда нагрузка близка к максимальной.
Построение перекрестных ссылок дучше делать частями, а не всем скопом сразу. Например, сначала классы, потом таблицы, потом формы и т.д. В этом случае, меньше вероятность, что системе не хватит оперативной памяти и начнется работа со свопом.
Старый 02.10.2006, 11:55   #2  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Андре Посмотреть сообщение
Построение перекрестных ссылок дучше делать частями, а не всем скопом сразу. Например, сначала классы, потом таблицы, потом формы и т.д. В этом случае, меньше вероятность, что системе не хватит оперативной памяти и начнется работа со свопом.
На самом деле, пользоваться этим советом стоит с осторожностью.
Особенно новичкам.

Утечку памяти, похоже, победили. Тьфу-тьфу-тьфу.
Посмотрим, что будет в 4.0.1, на которой будет основана русская версия.
__________________
полезное на axForum, github, vk, coub.
Старый 03.09.2009, 17:22   #3  
alex55 is offline
alex55
MCTS
MCBMSS
 
224 / 145 (5) +++++
Регистрация: 13.02.2007
Адрес: Москва
Цитата:
Сообщение от Андре Посмотреть сообщение
Построение перекрестных ссылок дучше делать частями, а не всем скопом сразу. Например, сначала классы, потом таблицы, потом формы и т.д. В этом случае, меньше вероятность, что системе не хватит оперативной памяти и начнется работа со свопом.
Дополню, что также можно обновлять только ссылки определенного слоя, отфильтровав по utilLevel и поставив флажок "Выбрано" перед запуском - может быть полезно для получения актуального состояния для текущих разработок на верхнем слое, например usr. Соответственно время обновления и требования к памяти гораздо меньше, в соответствии с размером выбранного слоя/слоев.
Старый 03.09.2009, 22:15   #4  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,286 / 3494 (123) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Цитата:
Сообщение от alex55 Посмотреть сообщение
Дополню, что также можно обновлять только ссылки определенного слоя, отфильтровав по utilLevel и поставив флажок "Выбрано" перед запуском - может быть полезно для получения актуального состояния для текущих разработок на верхнем слое, например usr. Соответственно время обновления и требования к памяти гораздо меньше, в соответствии с размером выбранного слоя/слоев.
Хе... А Вы так пробовали делать?
Вариант 1. Первый раз строим все ссылки, затем обновляем только по слою.
Эффект 1. Если мне не изменяет память (т.к. быстро отказался от этого варианта) - то не обновляются ссылки на использование объектов с других слоев. Т.е. если мы, к примеру в коде на usr-слое использовали InventTable, то перекрестные ссылки по InventTable об этом ничего не скажут.
Эффект 2. Будет задвоение (неоднократно видел собственными глазами). Т.е. в форме "Чем используется" каждая запись будет задвоена, затроена и т.д. для каждого построения ссылок.

Вариант 2. Ставим галочку "Удалить все". Но это удаляет ВСЕ записи - т.о. мы имеем ссылки только по usr-слою без sys и прочих слоев. Но в этом случае нет задвоения. Наблюдается ли эффект 1 - точно не помню - уж больно проверить все это временнозатратно.

На ноуте надо ограничивать память для SQL Server либо строить ссылки не на ноуте, а затем переливать таблички Xref*. Самый удобный на мой взгляд вариант - регулярный запуск на сервере построения ссылок ночью (ярлычок с axc-шником с параметром автозапуска compileAll_+). При этом еще для ускорения можно выполнить truncate для xRef*-таблиц до построения ссылок.
Плюс - уровень компилятора д.б. не больше 3 (а то и 2) - иначе может не хватить памяти для формирования лога
__________________
Возможно сделать все. Вопрос времени
Старый 04.09.2009, 16:58   #5  
alex55 is offline
alex55
MCTS
MCBMSS
 
224 / 145 (5) +++++
Регистрация: 13.02.2007
Адрес: Москва
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
Хе... А Вы так пробовали делать?
Вариант 1. Первый раз строим все ссылки, затем обновляем только по слою.
Эффект 1. Если мне не изменяет память (т.к. быстро отказался от этого варианта) - то не обновляются ссылки на использование объектов с других слоев. Т.е. если мы, к примеру в коде на usr-слое использовали InventTable, то перекрестные ссылки по InventTable об этом ничего не скажут.
Эффект 2. Будет задвоение (неоднократно видел собственными глазами). Т.е. в форме "Чем используется" каждая запись будет задвоена, затроена и т.д. для каждого построения ссылок.

Вариант 2. Ставим галочку "Удалить все". Но это удаляет ВСЕ записи - т.о. мы имеем ссылки только по usr-слою без sys и прочих слоев. Но в этом случае нет задвоения. Наблюдается ли эффект 1 - точно не помню - уж больно проверить все это временнозатратно.
...
Плюс - уровень компилятора д.б. не больше 3 (а то и 2) - иначе может не хватить памяти для формирования лога
Пробовал, но пока еще изучаю на предмет подводных камней.

Проверил описанные эффекты на DAX 4.0 SP2:
Вариант 1.
Эффект 1: Не проявился. После обновления ссылка на InventTable появилась. Если я правильно понимаю, то при обновлении ссылок для объекта, мы получаем записи по всем объектам на которые он ссылается. Соответственно обновлять ссылки на объекты с нижележащих слоев, чтобы узнать какие объекты на них ссылаются, не нужно.

Эффект 2. Задвоения пока не обнаружил, хотя поведение системы мне не очень понятно. На скриншоте показано изменение кол-ва записей в таблицах при последовательном обновлении ссылок на usr без изменения объектов. То есть после 7-ой итерации кол-во записей не меняется, а на промежуточных итерациях меняется по странному алгоритму.

Кстати, а что за лог, связанный с уровнем диагностики компилятора? Мне казалось что при обновлении ПС вывод диагностики не производится..
Миниатюры
Нажмите на изображение для увеличения
Название: XRefGenTest.GIF
Просмотров: 370
Размер:	7.8 Кб
ID:	5097  
Теги
перекрестные ссылки, ax4.0

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Задвоение перекрёстных ссылок miklenew DAX: Программирование 0 23.05.2008 15:59
Построение перекрёстных ссылок Paul_ST DAX: Администрирование 6 24.12.2007 14:22
После перестроения перекрестных ссылок начинает жутко тормозить Add-Ins MironovI DAX: Программирование 4 27.09.2007 13:46
Обновление перекрестных ссылок ест память Sada DAX: Программирование 22 11.10.2006 18:22
Еще раз о проблеме индексации перекрестных ссылок (SmartHeap Error) polygris DAX: Администрирование 1 13.10.2005 11:57

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

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

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