25.10.2016, 23:52 | #1 |
Участник
|
разное время открытия формы
сидят на берегу два пользователя, у обоих одинаковые удочки, ловят одного и того же карася, даже на червей одинаково плюют, но у одного время открытия формы от нажатия кнопки до загрузки последнего источника данных в несколько раз больше.
запускают клиента с одной и той же терминалки, база девелоперская, но работаю в ней я один. если потереть все auc-файлы, то первый раз открывается медленно -- "разогревается" кэш, но второй раз вылетает за те же 5-6 секунд. начиная с третьего раза, опять двадцать пять -- медленно! триггеры тайминга я добавил в active всех источников данных. поможите, люди добрые, ибо в тупике и теряю остатки надежды. вот их лог в trace parser, и никак я не пойму, что это за куча вызовов у второго (который справа на картинке). куда копать хотя бы? версия AX 2012 спасибо
__________________
Felix nihil admirari |
|
26.10.2016, 07:22 | #2 |
Участник
|
По всей видимости надо смотреть как строится запрос в executeQuery() на всех источниках данных.
Быть может, что запрос строится в зависимости от данных пользователя?
__________________
// no comments Последний раз редактировалось dech; 26.10.2016 в 07:32. |
|
|
За это сообщение автора поблагодарили: wojzeh (1). |
26.10.2016, 08:12 | #3 |
Участник
|
А какие-нибудь Parts на форме случайно не используются? Может они по разному отрабатывают у разных пользователей?
|
|
|
За это сообщение автора поблагодарили: wojzeh (1). |
26.10.2016, 08:58 | #4 |
Участник
|
а куча вызовов всегда у второго? или иногда у одного, а иногда у другого?
у них права и компании одинаковые? барабашки нет ) |
|
26.10.2016, 09:22 | #5 |
Участник
|
Может быть настроен RLS (или написан свой RLS) на поля(е) по которым не построен Index. И для этого пользователя фильтрация и тормозит открытие формы?
Может быть существует какая особенная сортировка на форме для пользователя, которая идет вперекос с используемым индексом.
__________________
-Ты в гномиков веришь? -Нет. -А они в тебя верят, смотри, не подведи их. Последний раз редактировалось Pustik; 26.10.2016 в 09:31. |
|
|
За это сообщение автора поблагодарили: wojzeh (1). |
26.10.2016, 09:37 | #6 |
Участник
|
Еще проверьте, не включен ли параметр Предварительная загрузка форм, который находится в Администрирование системы / Системы / Параметры производительности клиента.
Его лучше отключить. |
|
|
За это сообщение автора поблагодарили: Logger (10), Ace of Database (3), gl00mie (3), wojzeh (1), S.Kuskov (5). |
26.10.2016, 16:13 | #7 |
Участник
|
Да, это была первая мысль. Но, как я написал, для того же самого «проблемного» пользователя после сброса кеша форма открывается очень быстро, но только со второго раза.
__________________
Felix nihil admirari |
|
26.10.2016, 16:14 | #8 |
Участник
|
Нету партз. Это форма для ввода новой задачи для сервисного звонка. Но источников данных там - с десяток, если не больше
__________________
Felix nihil admirari |
|
26.10.2016, 16:16 | #9 |
Участник
|
Всегда у второго и на всех источниках - не только на этом. А что это вообще такое? Как это детализировать? Как поймать, откуда вызывается?
Компания та же, оба админы. Есть источник интеркомпани.
__________________
Felix nihil admirari |
|
26.10.2016, 16:17 | #10 |
Участник
|
Ок, гляну. А почему после сброса кеша ускоряется?
__________________
Felix nihil admirari |
|
26.10.2016, 16:18 | #11 |
Участник
|
Тогда бы у обоих было одинаково?
__________________
Felix nihil admirari |
|
26.10.2016, 16:36 | #12 |
Модератор
|
То что трассу сняли - это конечно хорошо. Осталось ее размотать до участка с максимальным exclusive. Если "медленного" пользователя сделать админом - что-то меняется? Если да - смотрите что накручено в XDS
__________________
-ТСЯ или -ТЬСЯ ? |
|
|
За это сообщение автора поблагодарили: wojzeh (1). |
26.10.2016, 16:40 | #13 |
Участник
|
А там на каждом из источников замедление: куча таких же query и findRange
Оба админы
__________________
Felix nihil admirari |
|
26.10.2016, 16:49 | #14 |
Модератор
|
Таки из чего 1000 миллисекунд сложилась - из 33333 findRange() по 0.03 мс каждый ?
__________________
-ТСЯ или -ТЬСЯ ? |
|
27.10.2016, 03:54 | #15 |
Участник
|
нет. их там порядка десяти. не могу понять, что это вообще такое. создали запрос, применили все фильтры, запустили, получили из базы данные - дальше-то что такое происходит?
__________________
Felix nihil admirari |
|
27.10.2016, 09:51 | #16 |
Участник
|
В параметрах пользователя кэширование таблиц не различается?
Фильтры на форме у пользователей идентичные? Возможно какой-то из фильтров накладывает доп. время.
__________________
Существует 10 типов людей: одни понимают двоичную систему, другие - нет. |
|
|
За это сообщение автора поблагодарили: wojzeh (1). |
27.10.2016, 10:46 | #17 |
Участник
|
Цитата:
Например грид для двух разных пользователе начитывает разное число строк. Вообще интересон было бы на табличке перекрыть метод postload и поставить счетчик сколько раз он вызвался для каждого юзера. |
|
|
За это сообщение автора поблагодарили: wojzeh (1). |
27.10.2016, 21:38 | #18 |
Участник
|
Цитата:
- оба админы; -стартуют клиентов с одной и той же терминалки; - rls и прочих выкрутасов с доступом к данных нет; - все usage date потёрты, кастомизация формы сброшена; - parts нет; - количество postLoads одинаково; просто почти КАЖДАЯ операция для второго пользователя (на картинках справа) занимает больше времени почти в два раза, что на клиенте, что на сикеле. доктора, что со мной?
__________________
Felix nihil admirari |
|
27.10.2016, 21:57 | #19 |
Участник
|
Может вам позвать третьего пользователя, [DEL]откупорить[/DEL] (э-э-э - нет, это не надо), и замерить сколько у него времени будет выполняться ?
А также 4-го и 5-го. Интересно какое распределение получится. У каждого второго будет тормозить ? Или наоборот быстро у первого - чисто случайно получалось. |
|
27.10.2016, 22:00 | #20 |
Участник
|
Еще можно попробовать грохнуть профили пользователей на терминальнике.
Зайти снова чтобы они с нуля создались чистые и снова замерять. Нередко помогает от странных багов. |
|
|
За это сообщение автора поблагодарили: S.Kuskov (2). |
Теги |
allowpreloading, allowuseofpreloadedform, isformpreloadingenabled, performance |
|
|