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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 22.03.2012, 14:21   #1  
Dreadlock is offline
Dreadlock
Участник
Аватар для Dreadlock
 
298 / 224 (8) ++++++
Регистрация: 07.05.2009
Адрес: Москва
Множественные запросы по DataArea и VirtualDataAreaList
Столкнулся с проблемой производительности при первичном открытии формы, после перехода на DAX 2009.

Ситуация следующая:
В системе есть примерно 2000 компаний и еще ~20 виртуальных компаний. При открытии тогоже стандартного плана счетов, система начинает делать множественне запросы к DataArea и VirtualDataAreaList. В Ledgertable план счетов настроен на одну виртуальную компанию, т.е. у всех один план счетов. В итоге первый раз форма открывается у пользователей от 1 до 3х минут. В последующие разы запросы уже не уходят к БД.
Да, в инфологе пишет, что план запроса используется повторно, но кол-во запросов меня пугает ~3000

Посмотрел на метод CursorNotify источника данных на строчке:
X++:
ledgerTableCache = ledgerTable_ds.getFirst(0,false);
начинаются множественные запросы.

если сделать:
X++:
ledgerTableCache = ledgerTable_ds.getFirst(0, true);
то работает еще хуже.

В общем, как разогнать не понятно.

Есть идеи?

P.S. пробовал коментить все кроме super(), в CursorNotify но это ни к чему не привело.

Последний раз редактировалось Dreadlock; 22.03.2012 в 14:45.
Старый 22.03.2012, 14:32   #2  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,952 / 3230 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Из-за виртуальных компаний в некоторых индексах полезно dataareaid засовывать в конец.
Также иногда проще переписать запрос с виртуальными компаниями. Некоторые джоины приходится рвать на несколько запросов, в таком случае запросы получаются намного проще. На форуме немножко было про это, поищите.
Старый 22.03.2012, 14:33   #3  
Михаил Андреев is offline
Михаил Андреев
Участник
Компания АМАНД
Лучший по профессии 2009
 
1,296 / 239 (10) ++++++
Регистрация: 09.11.2001
Адрес: Химки, Московская область
Если план счетов един у всех компаний, то, возможно, лучше отказаться от виртуальной компании в части плана счетов, а просто поменять свойство таблицы SaveDataPerCompany=No.
__________________
Михаил Андреев
https://www.amand.ru
За это сообщение автора поблагодарили: Logger (1).
Старый 22.03.2012, 14:53   #4  
Dreadlock is offline
Dreadlock
Участник
Аватар для Dreadlock
 
298 / 224 (8) ++++++
Регистрация: 07.05.2009
Адрес: Москва
Цитата:
Сообщение от Logger Посмотреть сообщение
Из-за виртуальных компаний в некоторых индексах полезно dataareaid засовывать в конец.
Также иногда проще переписать запрос с виртуальными компаниями. Некоторые джоины приходится рвать на несколько запросов, в таком случае запросы получаются намного проще. На форуме немножко было про это, поищите.
Так в том то и дело, что я никаких запросов не делаю
Старый 22.03.2012, 14:58   #5  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,952 / 3230 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2

Вы не делаете. Аксапта за вас делает при работе.
В общем, простых путей нет.
Включайте трассировку долгих запросов SQL, ищите узкие места и исправляйте.
Старый 22.03.2012, 15:20   #6  
Dreadlock is offline
Dreadlock
Участник
Аватар для Dreadlock
 
298 / 224 (8) ++++++
Регистрация: 07.05.2009
Адрес: Москва
Цитата:
Сообщение от Logger Посмотреть сообщение
Включайте трассировку долгих запросов SQL, ищите узкие места и исправляйте.
Да и долгих запросов нет, проверял с апертурой 500 и 1000!
Есть только множественные запросы. Вот включил профайлер, смотрю он переберает все компании и отправляет ~3000 запросов на сервер и потом кэширует все это дело.

Сейчас посмотрю еще план исполнения, может и отковыряю чего.

А виртуальных компаний похоже три оказалаось (для плана счетов), не получится отказатться от DataAreaId, да и не у одной формы это проявляется, т.е. есть формы, при открытии которых в первый раз на сервер уходят теже запросы, что и при открытии Плана счетов.
Старый 22.03.2012, 17:03   #7  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,952 / 3230 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Ну поставьте апертуру 50 и посмотрите на самый частый запрос.
Старый 23.03.2012, 17:46   #8  
Dreadlock is offline
Dreadlock
Участник
Аватар для Dreadlock
 
298 / 224 (8) ++++++
Регистрация: 07.05.2009
Адрес: Москва
В общем если есть дисплэйный метод, то выполняется куча запросов к БД, если его убрать, то все работает быстро.
В Ах 3.0 работает иначе.
Старый 18.07.2012, 17:11   #9  
Dreadlock is offline
Dreadlock
Участник
Аватар для Dreadlock
 
298 / 224 (8) ++++++
Регистрация: 07.05.2009
Адрес: Москва
Выпустили private хотфикс по этому поводу, все полетело.

P.S. еще сказали, что попутно исправили кучу багов, сборка для всех будет видимо уже только со следующим ролапом.
За это сообщение автора поблагодарили: Logger (1).
Старый 18.07.2012, 19:21   #10  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,952 / 3230 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Что правили то ?
Ядро ?
Старый 18.07.2012, 20:03   #11  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5798 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Видимо, речь об этом:
Цитата:
May 2012
KB2707970 Kernel
Slow loading of forms using display methods when using virtual companies with large number of companies or large number of groups; excessive RPC calls are generated.
На счет "попутного исправления кучи багов" - это вроде всегда так было, потому что все обновления того же ядра кумулятивные, MS не создает "ветки" версий ядра с исправлением одного конкретного бага. Если верить списку исправлений, вот что еще вошло в этот hotfix по сравнению с ядром RU8:
Цитата:
2703293 Regular AOS crashes in Ax32Serv!SqlStmt::next coming from a client serverNext call RFH
2695155 Swedish charaters do not display correctly in Workflow Instruction box on Enterprise Portal
2693408 Customer base data report error- "A section in the report is higher than the actual page size allows" if you have any printer but an Microsoft XPS Document Writer on RU 7 Kernel or greater
2690074 Letter "a" in the filter field in places (list pages) clears the field content entered so far
2679864 DLL AXHotKey switches to QWERTY
2676477 Running a specific job crashes the AOS
2675310 KB2578033 breaks several SSRS reports
2674839 AOS crash in Ax32Serv!interpret::xal_asg_sym_opr
2674834 Event log when using Batch helpers
2674579 Dialog form OK/Cancel button missing when connecting to AX Client via Remote Apps
2667355 Unreadable barcode when printing to PDF
За это сообщение автора поблагодарили: Logger (5).
Старый 24.07.2012, 11:43   #12  
Dreadlock is offline
Dreadlock
Участник
Аватар для Dreadlock
 
298 / 224 (8) ++++++
Регистрация: 07.05.2009
Адрес: Москва
Цитата:
Сообщение от Logger Посмотреть сообщение
Что правили то ?
Ядро ?
Ядоро клиент/сервер.
За это сообщение автора поблагодарили: Logger (2).
Теги
build, hotfix, hotfixlist, kernel rollup, virtual company, баг, виртуальные компании, производительность, хотфикс, ядро

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Запросы / Итоги для ЗПР Prophetic DAX: Программирование 5 02.08.2010 15:13
оптимизируем запросы. SHiSHok DAX: Программирование 18 13.09.2009 21:26
Домены и select * from DataArea Yprit DAX: Программирование 1 11.04.2008 16:05
Динамический запрос на таблицу DataArea PavelSR DAX: Программирование 2 23.07.2007 12:31
Разные запросы в 2-х и 3-х уровневой конфигурациях. Что делать?! Anais DAX: Программирование 12 04.11.2004 12:47

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

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

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