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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.01.2022, 15:23   #1  
DesparioN is offline
DesparioN
Участник
 
86 / 15 (1) ++
Регистрация: 21.10.2014
Кэширование данных на форме (DAX2012)
Добрый день!

Так как в данном вопросе полный нуль, хотел уточнить есть ли возможность произвести аудит кэширования данных на форме с целью оптимизации?

Первичный анализ показал, что форма заказа на покупку:
1) при открытии затрачивает 10 секунд
2) при первом executeQuery 2 мин
3) при последующих 10-15 секунд.

Хотелось бы детально понять что происходит на 2 этапе.
Старый 20.01.2022, 15:37   #2  
Товарищ ♂uatr is offline
Товарищ ♂uatr
Участник
Аватар для Товарищ ♂uatr
MCBMSS
 
299 / 866 (29) +++++++
Регистрация: 23.10.2012
Добрый день.
Для проведения аудита быстродействия используйте:
- Microsoft Dynamics AX Trace Parser (https://docs.microsoft.com/en-us/dyn...traceparser_34), поиск проблемных мест в коде;
- SQL Profiler (https://docs.microsoft.com/en-us/sql...l-server-ver15), поиск проблемных мест в бд.
Разумеется эти инструменты не являются единственными...
За это сообщение автора поблагодарили: vmoskalenko (6), DesparioN (1).
Старый 21.01.2022, 12:02   #3  
Lemming is offline
Lemming
Участник
Аватар для Lemming
 
1,144 / 343 (14) ++++++
Регистрация: 20.04.2004
Адрес: Москва, Чайнатаун в Люблино
Записей в блоге: 10
Cool
Цитата:
Сообщение от DesparioN Посмотреть сообщение

Первичный анализ показал, что форма заказа на покупку:
1) при открытии затрачивает 10 секунд
2) при первом executeQuery 2 мин
3) при последующих 10-15 секунд.
Это к вопросу о том, что ERP программисту якобы важнее знания бизнес-процессов, а не программирования.
Старый 21.01.2022, 13:08   #4  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,940 / 3229 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от Lemming Посмотреть сообщение
Это к вопросу о том, что ERP программисту якобы важнее знания бизнес-процессов, а не программирования.
Возможно я неточно выразился тогда, но задачка явно была на какие то узкие математические упражнения. В ERP задачах такое точно никогда бы не потребовалось. Может в каких-нить микроконтроллерах или системах реального времени - допускаю, да.

Ну а понимание бизнес-процессов, оно как коньяк - всегда полезно
Старый 28.01.2022, 12:05   #5  
DesparioN is offline
DesparioN
Участник
 
86 / 15 (1) ++
Регистрация: 21.10.2014
Если возможно, нужна консультация.
Я воспользовался trace parser. Удалил тяжелые дисплейные методы.
Теперь из тяжелого это строка servernext. Если я правильно понял это и есть непосредственный select в БД. Однако почему то только на первом обновлении формы данный процесс занимает 93к ms. В остальных случаях 1.1к ms.
Я правильно понимаю, что в скуле где то кэшируется запрос, поэтому при повторном обращении все работает так быстро и тут ничего не исправишь, или же есть какие то способы ускорить?
Старый 28.01.2022, 12:18   #6  
Pandasama is offline
Pandasama
Участник
 
457 / 134 (5) +++++
Регистрация: 11.08.2014
Адрес: Барнаул
Смотрите, какой конкретно запрос выполняется - можно со стороны аксапты пытаться добавить индексов, например. Ну и со стороны SQL играться со статистикой, выбором планов и пр. стандартными методами.
Ну и в Аксапте, опять же, посмотреть что именно в запросе тормозит больше всего - не исключено, что если из запроса что-то убрать, заменив на дисплей-метод или вьюшку, это в результате даст прирост производительности.
Старый 28.01.2022, 14:31   #7  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,691 / 1195 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Есть собственно выборка (запрос) и есть просмотр результатов этой выборки. Очевидно, что когда данные получены перемещение от одной записи выборки к другой происходит "мгновенно"

Именно по этой причине, как правило, открытие формы - относительно медленный процесс, а вот перемещение по записям в уже открытой форме происходит быстро. Ну, если не тормозят разные дисплейные методы и разные операции, выполняемые при перемещении по строкам.

Физически, на уровне SQL это оформлено как работа с курсорами. Т.е. выборка Axapta формирует SQL-курсор (CREATE ... CURSOR FOR ...), а потом перемещается по этому курсору.

Эту особенность следует иметь в виду, если будете делать отладку запроса напрямую в SQL Manager. Надо оптимизировать не прямой запрос, а вот этот курсор. Там разные планы выполнения могут быть.
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
Старый 28.01.2022, 14:38   #8  
ax_mct is offline
ax_mct
Banned
 
2,548 / 1091 (0) ++++++++
Регистрация: 10.10.2005
Адрес: Westlands
Цитата:
Сообщение от Logger Посмотреть сообщение
Возможно я неточно выразился тогда, но задачка явно была на какие то узкие математические упражнения. В ERP задачах такое точно никогда бы не потребовалось. Может в каких-нить микроконтроллерах или системах реального времени - допускаю, да.

Ну а понимание бизнес-процессов, оно как коньяк - всегда полезно
Создал отдельную тему. Не вижу причин сдаваться и говорить что это коньяк.
Это вода без которой никак.
ERP программисту якобы важнее знания бизнес-процессов
Старый 28.01.2022, 14:55   #9  
ax_mct is offline
ax_mct
Banned
 
2,548 / 1091 (0) ++++++++
Регистрация: 10.10.2005
Адрес: Westlands
Цитата:
Сообщение от DesparioN Посмотреть сообщение
Добрый день!

Так как в данном вопросе полный нуль, хотел уточнить есть ли возможность произвести аудит кэширования данных на форме с целью оптимизации?

Первичный анализ показал, что форма заказа на покупку:
1) при открытии затрачивает 10 секунд
2) при первом executeQuery 2 мин
3) при последующих 10-15 секунд.

Хотелось бы детально понять что происходит на 2 этапе.
Так называемый холодный запуск когда форма еще не откэширована.

Если на форме нет кастомизаций требующих ревью и полагая что с табличными индексами все OK то есть стандартные рекомендации для стандарта

Configure client performance options
https://docs.microsoft.com/en-us/dyn...rmance-options

Цитата:
To improve performance, you can reduce the use of FactBoxes and preview panes, or set forms to preload in your environment.
Также вопрос настройки CIL в опциях пользователя.
the check box "Execute Business Process in CIL".

То есть в условном продакшн таких задержек может и не быть или могут быть только первый раз после деплоймента.

P.S. Даже если не ответил на вопрос, то так или иначе близко к теме.

Последний раз редактировалось ax_mct; 28.01.2022 в 15:00.
Старый 28.01.2022, 15:07   #10  
DesparioN is offline
DesparioN
Участник
 
86 / 15 (1) ++
Регистрация: 21.10.2014
Результат оказался неожиданным (для меня)
Как оказалось форма наследует query с вызываемого listpage. Как только привел query к стандарту, то действия над формой начали занимать 2-3 секунды.

Остается открытым вопрос почему тогда открытие формы происходит быстро. Получается кэш запроса с listpage изначально наследуется, а при первом обновлении кэш уже создается для нового объекта...
Старый 28.01.2022, 18:04   #11  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,940 / 3229 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
В менюитеме вроде было свойство copyquery
Можно им поиграть.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Проблема при импорте данных через группу определений mnt_dx DAX: Функционал 1 03.03.2016 15:49
Импорт экспорт данных АХ 2012 vlad_ax DAX: Функционал 7 28.07.2015 11:50
Исследование скорости экспорта данных из Axapta в Excel (коллективный эксперимент) Gustav DAX: База знаний и проекты 79 13.02.2014 13:18
Изменение вывода данных на печать в зависимости от наличия галочки в форме Фактура tolstjak DAX: Программирование 7 11.08.2009 17:08
Введение в Аксапту Роман Кошелев DAX: Прочие вопросы 0 18.12.2001 14:00

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

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

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