|
Perfmon
|
|||
---|---|---|---|
#18+
Доброго всем здравия! Обращаюсь к спецам в этой ветке, которые знакомы с презентацией Моши о том как работает MDX STUDIO. Подскажите, пожалуйста, как искать узкое горлышко в запросе, если имеем вот такую картину маслом.. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2021, 12:04 |
|
Perfmon
|
|||
---|---|---|---|
#18+
Nivatu, Логика простая. Есть две основных составляющих, которые работают над запросом. Это FE - Formula engine и SE - Storage engine. Тормозить может как одна, так и другая. Каждая из них имеет свой кэш. FE получает запрос, строит план, на основании которого либо берет данные из своего кэша либо обращается к SE. Поэтому в первую очередь надо сравнить результаты перфмон в состоянии холодного и разогретого кэша. для этого в MDX Studio есть функция Profile. Затем смотреть на 2 показателя Sonar Subcubes и SE Queries, Первый говорит о том сколько пространств (подкубов) не хватает FE в своем кэше, второй сколько запросов к хранилищу будет выполнено потому что нужные данные для формирования пространства (подкуба) отсутствуют в кэше SE. В идеале на прогретом кэше оба показателя должны быть значительно ниже, да и вообще чем меньше обращений к хранилищу - тем лучше. Показатели "Cache xxx" тоже относятся к SE, а "Flat cache .." это к FE. Далее NON EMPTYs - это может быть и как NON EMPTY на оси, так и вызов функции NONEMPTY() Autoexists и Existings - счетчики срабатывания и использования функции механизма Auto exists между атрибутами измерения на все 3 особо не смотрю, только если уж они совсем огромные (десятки-сотни миллионов). Cells calculated - число вычисленных ячеек. Calc covers - число пространств (подкубов) покрытых вычислениями. не сильно это все полезно, т.к. устарело и практически каждый из них имеет более расширенную информацию, например сколько ячеек было рассчитано в режиме cell-by-cell, а сколько в bulk. более интересный расклад дает ASQA - Analysis Services Query Analyser (плагин для Management Studio), но его похоже бросили окончательно. Мне больше всего помогает исследование трейса с информацией по evaluation nodes (те самые "Calc covers"). Написал себе небольшой парсер, помог мне сильно в паре задач определить причину "долгоиграющих" запросов. А вот с Вашим скрином у меня несостыковка, вроде и не такие уж великие цифры везде, однако 5 минут.. у Вас что Celeron с гигом оперативки 20 летней давности? Если хотите, давайте трейс, я посмотрю, только не забудьте в разделе QueryProcessing поставить дополнительно 2 галки Calculation Evaluation и Calculation Evaluation Detailed Information ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2021, 03:21 |
|
Perfmon
|
|||
---|---|---|---|
#18+
ShIgor, Спасибо за ценную информацию Сделал трейс по вашему рецепту. 65 Mb. Прислать его проблематично. Не выпускает контур безопасности. Именно этот запрос оптимизировать нет возможности. Он формировался движком сводной Excel на холодном сервере и сам по себе перегружен излишествами. Но я могу влиять на параметры сервера. Вопрос лишь в том какие из них этого требуют, судя по Perfmon? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2021, 08:26 |
|
Perfmon
|
|||
---|---|---|---|
#18+
Nivatu, волшебной кнопки не существует. да и в такой комплектации вряд-ли какие настройки сильно на что-то повлияют. блох ловить разве что. насколько помню, SSAS больше 32 ядер не берет, поэтому если стоит дополнительно SQL обязательно разнесите их по ядрам. посмотрите не включен ли режим экономии электроэнергии или сбалансированный режим - сильнейший удар по любым операциям. особенно влияет на FE. проверьте TurboBoost, запустите любой тяжелый запрос к SSAS, посмотрите в диспетчере задач, на вкладке производительность ЦПУ, Скорость должна подскакивать выше Базовой скорости. у Вас должно скакать от 2,9 до 3,9. настройками биос и электропитания добейтесь чтобы ниже 2,9 не опускалась. на одном только этом можно выжать 30-40%. Это же справедливо если все развернуто в виртуалке, проверяйте везде и на хосте и на гостевой. если вариантов замены экселя нет, то поможет только подгонка куба под него. с запросом надо определиться на что уходит львиная доля времени. ставьте ASQA, смотрите.. или как вариант есть еще SSASDiag на гите тоже полезная вещь в плане сбора полной картины того что происходит. к сожалению, ни тот, ни другой не собирают evaluation nodes - а в них как раз вся суть. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2021, 10:15 |
|
Perfmon
|
|||
---|---|---|---|
#18+
Nivatu, эк Вас перекосило-то 384 ядра и 64 гига оперативки - явно не для SSAS конфа ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2021, 10:28 |
|
Perfmon
|
|||
---|---|---|---|
#18+
ShIgor, В силу недавнего доступа к настройкам сервера хотелось бы понять где же прячутся "крутилки" к этим 384 ядрам? И как их можно видеть? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2021, 11:35 |
|
Perfmon
|
|||
---|---|---|---|
#18+
Nivatu, в настройках SQL сервера - отключите те ядра которые будут использоваться SSAS. в настройках SSAS установите соответствующую AffinityMask, для разных типов нагрузок можно указывать разные. раз у Вас 8 нод, я бы отключил одну ноду в SQL целиком и отдал бы ее под SSAS. но надо быть внимательным. SSAS в отличие от SQL не любую ноду умеет брать. лично нарвался на то, что он на HP с двумя голдовым процами, в определенной конфигурации железа, упорно устанавливал только 8 ядер (реально 4, с гипертредингом). при этом SQL нормально работал на всех 32. и никакими настройками заставить его взять больше не смог. а при смене настроек конфигурации в железе, никаких проблем - хватал все 32. про настройки масок есть инфа в дoкументации MS, HP, Dell ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2021, 12:06 |
|
Perfmon
|
|||
---|---|---|---|
#18+
ShIgor, Много интересного Придется повозиться ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2021, 13:50 |
|
Perfmon
|
|||
---|---|---|---|
#18+
Nivatu, Написано что 8 ядер (Platinum выгоден в т.зр. SQL-Srv лицензирования - существенно дешевле в ср. на ядро получается), в спецификации 24 ядер (х2=48 с HT), соответственно либо серверное ограничение (BIOS и пр.) либо виртуалка - тогда одни и те-же ядра могут вполне шарится по нескольким VM (т.е. риск что они заняты/загружены другими процессами - и мониторинг на местной машине нагрузки может не дать верных показаний и получаться довольно волатильным и непредсказуемым) Кроме того у него только 2 ядра из 24х поддерживают AVX-512, нет гарантии что самая тяжелая нагрузка с конкретной VM прилетит на самое производительное ядро (хотя навряд-ли SSAS MD оптимизирован на использование этих инструкций - уж очень старый код) - на DWH нагрузках прирост производительности в х26-х60 раз В MDX Studio помню было ClearCache для чистоты эксперимента (холодный/прогретый кэш как указывал выше ShIgor), но чистить можно и через XMLA (интерфейсом на свой вкус) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2021, 14:41 |
|
Perfmon
|
|||
---|---|---|---|
#18+
SSAS - MD FE = Singlethreaded (но тем не менее производительность одного ядра - довольно важна) хоть и памяти вроде не много на операцию израсходовано (не видя сложности запроса/модели куба - но стоит посмотреть на свободную (из-за высокого баланса SE queries), может нет своборного места в RAM (64ГБ) на нормальное кэширование, тогда диски - их скорость и очереди из-за конкуренции с др. VM ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2021, 14:54 |
|
|
start [/forum/topic.php?fid=49&fpage=3&tid=1857130]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
27ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
others: | 243ms |
total: | 369ms |
0 / 0 |