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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 01.11.2020, 16:17   #8  
Masel is offline
Masel
Участник
 
39 / 537 (18) +++++++
Регистрация: 19.09.2007
По поводу QueryStore. Да можно использовать наверное DynamicsPerf, можно вообще свою таблицу сделать и складывать туда джобом результаты системных хранимых процедур. Просто MS предоставляет встроенный (а не прикрученный сбоку) довольно удобный инструмент с графическим интерфейсом.

Там все основное необходимое присутствует в одном окне. Можно менять период для анализа, смотреть сколько раз запрос выполнялся, какое минимальное время, какое максимальное, какое среднее для каждого плана запроса. Можно менять сам анализируемый показатель - процессорное время, общее время, логическое чтение и т.д. Тут же можно взять готовый план, чтобы сделать план гайд. Вообще это предусмотрено одной кнопкой forcePlan в той же форме, но с аксаптой это не работает, приходится делать по старинке.
Основное полезное применение, если запрос сильно тормозит, то можно зайти в эту форму, он наверняка будет в топе, перейти в анализ запроса, посмотреть на большом периоде какие были планы и сколько в среднем выполнялся с ними запрос и выбрать самый быстрый, создать план гайд.

Правда без граблей тут у МС не обошлось. Во-первых на высоконагруженной базе QueryStore очень сильно растет в размерах. Если у вас маленький размер QueryStore, то она заполнится и станет readOnly, перестанет собирать статистику.
Во-вторых при переключении ноды always on субд считает своим долгом и священной обязанностью скопировать queryStore на новую праймари ноду (и это не отключается, по крайней мере раньше так было, давно не изучал вопрос). Пока копируется queryStore основная база не поднимается и надо ждать. Есть вариант выключить или уменьшить размер query store, но это накладывает блокировки на базу и все равно приходится ждать, хотя вроде и поменьше. Если queryStore маленькая по размеру, то ждать не долго. Но читайте п.1, маленький размер приводит к отказу сбора статистики.
Ну и в-третьих когда база большая, то форма с топ запросами очень долго открывается. Это смешно, но нужно прикрутить план гайд из интернета, чтобы она быстрее открывалась. То есть чтобы оптимизировать запросы нужно оптимизировать вначале инструмент.

По поводу уведомлений из QueryStore. Имеются ввиду в первую очередь уведомления на основе раздела regressed queries. То есть можно настроить уведомление, показывающее те запросы, среднее выполнение которых за текущий период сильно хуже, чем среднее выполнение в предыдущий исторический период. Это свидетельствует о том, что выбран не оптимальный план.

По поводу флагов. На тестовых базах тестировались сами операции. Наличие флагов никто не тестировал, т.к. никто не подумал, что они могут быть просто удалены с сервера. Об этом вообще должны были подумать админы БД, а не аксаптеры, но не подумали. Ошибки бывают. Статья для тех, кто хочет сделать аналогичный переход, чтобы не совершить ошибок.

По поводу расчета кардинальности На сколько я помню там было очень много странных планов, и пришлось много план гайдов сделать, чтобы снять "пожар" начальный. Больше всего такое удивляло. Есть запрос к таблице в 100 тысяч строк с единственным фильтром по полю из некластерного индекса. Тут даже без статистики понятно, что оптимизатор должен сделать index seek по этому полю и далее по результату lookup на кластерный. Но оптимизатор ищет по кластерному. Пересчитываешь статикику фулсканом, ставишь конкретные значения параметров, все равно кластерный индекс. Поведение такое, как будто там 10 строк. При переключении на старый алгоритм все эти странности пропадают.
Миниатюры
Нажмите на изображение для увеличения
Название: QueryStore.jpg
Просмотров: 643
Размер:	193.6 Кб
ID:	12979  
За это сообщение автора поблагодарили: Vadik (63), sukhanchik (40), trud (10), AlexeyS (11), sonik (2), AlGol (3), gl00mie (5), Logger (10).
Теги
alwayson, ax2012r2, cardinality, cbo, legacy_cardinality_estimation, sql server 2016

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
emeadaxsupport: AX Performance Troubleshooting Checklist Part 2 Blog bot DAX Blogs 0 09.09.2014 16:11
emeadaxsupport: AX Performance Troubleshooting Checklist Part 1A [Introduction and SQL Configuration] Blog bot DAX Blogs 0 05.09.2014 21:11
crminthefield: Podcast and Overview: Microsoft Dynamics CRM 2011 Update Rollup 17 Blog bot Dynamics CRM: Blogs 0 10.05.2014 06:30
crminthefield: Podcast and Overview: Microsoft Dynamics CRM 2011 Update Rollup 11 Blog bot Dynamics CRM: Blogs 0 06.10.2012 05:27
CRM DE LA CREME! Configuring Microsoft Dynamics CRM 4.0 for Internet-facing deployment Blog bot Dynamics CRM: Blogs 0 18.08.2009 11:05
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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