Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / OLAP и DWH Новый топик    Ответить
 SSAS 2016 счетчики производительности процент попадания в агрегаты  [new]
Denis@nk
Member

Откуда:
Сообщений: 178
Добрый день. Подскажите пожалуйста, как можно оценить степень охвата агрегатами пользовательских запросов?
В счетчиках производительности есть счетчики которые показывают процент попадания в кэш, а мне хочется понять насколько удачно разработаны агрегаты.
2 мар 18, 14:18    [21232373]     Ответить | Цитировать Сообщить модератору
 Re: SSAS 2016 счетчики производительности процент попадания в агрегаты  [new]
bideveloper
Member

Откуда:
Сообщений: 343
Denis@nk,
можно использовать Query log и затем строить агрегаты на его основе
https://docs.microsoft.com/en-us/sql/analysis-services/instances/log-operations-in-analysis-services
2 мар 18, 14:25    [21232404]     Ответить | Цитировать Сообщить модератору
 Re: SSAS 2016 счетчики производительности процент попадания в агрегаты  [new]
Denis@nk
Member

Откуда:
Сообщений: 178
Так и делаю, но хочется увидеть результирующую картинку, что получается. Потому как жалобы поступают что медленно работает.
2 мар 18, 14:28    [21232416]     Ответить | Цитировать Сообщить модератору
 Re: SSAS 2016 счетчики производительности процент попадания в агрегаты  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 30486
Блог
Denis@nk,

Profiler запускайте, там видно
2 мар 18, 16:22    [21232873]     Ответить | Цитировать Сообщить модератору
 Re: SSAS 2016 счетчики производительности процент попадания в агрегаты  [new]
Denis@nk
Member

Откуда:
Сообщений: 178
Критик,

да, смотрю и не понимаю, почему агрегат есть, а все равно по простому запросу идет чтение всех партиций, потом агрегат.

Что его вынуждает делать чтение всех партиций при наличие агрегата?
2 мар 18, 17:54    [21233277]     Ответить | Цитировать Сообщить модератору
 Re: SSAS 2016 счетчики производительности процент попадания в агрегаты  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 30486
Блог
Это может быть опережающее чтение, можно попробовать отключит его с помощью опций строки соединения. Что там точно писать я не помню, но это гуглится.
2 мар 18, 17:56    [21233282]     Ответить | Цитировать Сообщить модератору
 Re: SSAS 2016 счетчики производительности процент попадания в агрегаты  [new]
bideveloper
Member

Откуда:
Сообщений: 343
Может используется какой-то хитрый Dynamic Named Set? Писали, что они вычисляются всегда, независимо от запроса: https://blog.gbrueckl.at/2014/12/ssas-dynamic-named-sets-in-calculated-members/
2 мар 18, 18:09    [21233303]     Ответить | Цитировать Сообщить модератору
 Re: SSAS 2016 счетчики производительности процент попадания в агрегаты  [new]
Denis@nk
Member

Откуда:
Сообщений: 178
bideveloper,

Из вычислений только 5 полей в которых одна мера делится на другую.
2 мар 18, 18:15    [21233317]     Ответить | Цитировать Сообщить модератору
 Re: SSAS 2016 счетчики производительности процент попадания в агрегаты  [new]
vikkiv
Member

Откуда: London
Сообщений: 1582
в профайлере пишется когда это reading aggregations data против reading partition data
и верно выше намекают - надо сначало опеределить что значит медленно, подтвердить на каком этапе: SE (storage engine) или CE (calculation engine) .. есть ещё парсинг, сессия/роли, генерация плана, prefetch, подкуб(-ы), кэшы, форматирование, да и в Calculation Engine тоже несколько шагов .. да и после готовности - шаги до передачи данных

Кроме того если есть Aggregations Hit и связи в измерениях настроены нормально то нужно будет смотреть какой именно - там может быть достаточно удовлетворения уровнем ниже (более детатльным)

А вообще берётся конкретная жалоба на где медленно, вылавливается этот(-и) запрос(-ы) {по критериям частота, критичность} и в случае их неэкзотичности проводится оценка - нужно-ли делать агрегаты и помогут-ли, а только потом - есть-ли aggregations hit,

кстати - M2M присувствует?
2 мар 18, 19:26    [21233488]     Ответить | Цитировать Сообщить модератору
 Re: SSAS 2016 счетчики производительности процент попадания в агрегаты  [new]
Denis@nk
Member

Откуда:
Сообщений: 178
Запустил руками процессинг партиций с параметром "Process Index".
После этого агрегаты стали использоваться. Запрос отработал за секунду.

В штатном режиме партиции создаются скриптом и процессятся командой oPartition.Process(ProcessType.ProcessFull).
Что то видимо скрипт не доделывает.
Может после процессинга еще надо какую то команду делать в скрипте?
2 мар 18, 19:40    [21233517]     Ответить | Цитировать Сообщить модератору
 Re: SSAS 2016 счетчики производительности процент попадания в агрегаты  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 30486
Блог
Denis@nk,

попробуйте добавить Process Default в конце
2 мар 18, 19:46    [21233527]     Ответить | Цитировать Сообщить модератору
 Re: SSAS 2016 счетчики производительности процент попадания в агрегаты  [new]
vikkiv
Member

Откуда: London
Сообщений: 1582
кстати состояние агрегатов можно проверить запросом в DMV:
select*from SystemRestrictSchema(
$system.discover_partition_stat,
DATABASE_NAME='AW14E',
CUBE_NAME='Adventure Works',
MEASURE_GROUP_NAME='Internet Sales',
PARTITION_NAME='Internet_Sales_2013')
3 мар 18, 07:40    [21234153]     Ответить | Цитировать Сообщить модератору
 Re: SSAS 2016 счетчики производительности процент попадания в агрегаты  [new]
Denis@nk
Member

Откуда:
Сообщений: 178
Критик,

Когда скрипт делает oPartition.Process(ProcessType.ProcessFull) то перестают действовать агрегаты для всех партиций.
Если добавить Process Default для партиции, то начинают действовать агрегаты для этой последней партиции, а для всех остальных они отключены.

Если добавить Process Default для всей базы, то начинается переиндексация всей базы. Все начинает работать, но цель была чтобы скрипт оперативно обновлял последнюю партицию. Переиндаксация все таки ресурсоемкая операция и заметно продолжительная.

Если сделать ProcessFull партиции руками в менеджмент студии, то агрегаты не теряются. Обрабатывается и группа мер и куб и база без переиндексации всей базы. Что написать в скрипте чтобы он работал так же?
4 мар 18, 10:44    [21235524]     Ответить | Цитировать Сообщить модератору
 Re: SSAS 2016 счетчики производительности процент попадания в агрегаты  [new]
Denis@nk
Member

Откуда:
Сообщений: 178
vikkiv,

Эта проверка показывает что все агрегаты на месте в любом случае. Проблема где то выше, на уровне группы мер или куба. Теряется информация о том что есть общий индекс. И все агрегаты как бы отключены.

Файлы агрегатов тоже все на месте, наблюдал как они обновляются и создаются на диске при процессинге.
4 мар 18, 10:48    [21235525]     Ответить | Цитировать Сообщить модератору
 Re: SSAS 2016 счетчики производительности процент попадания в агрегаты  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 30486
Блог
Denis@nk,

Поставить последние сервиспаки на SSAS, с помощью профайлера посмотреть и сравнить, что приходит из SSMS и вашего приложения
4 мар 18, 11:00    [21235535]     Ответить | Цитировать Сообщить модератору
 Re: SSAS 2016 счетчики производительности процент попадания в агрегаты  [new]
Denis@nk
Member

Откуда:
Сообщений: 178
Критик,

Наверное вот это моя проблема https://support.microsoft.com/en-us/help/3209426/fix-processing-a-partition-in-ssas-2016-drops-all-data-from-other-part, действительно надо ставить апдейт. Спасибо большое!
4 мар 18, 11:24    [21235565]     Ответить | Цитировать Сообщить модератору
 Re: SSAS 2016 счетчики производительности процент попадания в агрегаты  [new]
vikkiv
Member

Откуда: London
Сообщений: 1582
Denis@nk
vikkiv,
Эта проверка показывает что все агрегаты на месте в любом случае.
там разве не нули при неотпроцешеных агрегатах (кроме первой строки если есть данные)? но если у тебя чистый баг то конечно другое дело.
4 мар 18, 14:28    [21235758]     Ответить | Цитировать Сообщить модератору
 Re: SSAS 2016 счетчики производительности процент попадания в агрегаты  [new]
Denis@nk
Member

Откуда:
Сообщений: 178
vikkiv,

Нет, табличка с цифрами. Все с виду в порядке.
4 мар 18, 14:38    [21235769]     Ответить | Цитировать Сообщить модератору
 Re: SSAS 2016 счетчики производительности процент попадания в агрегаты  [new]
vikkiv
Member

Откуда: London
Сообщений: 1582
таблички с не нулевыми цифрами - это именно когда агрегаты отпроцешены, нули на агрегатах если ничего не агрегировано (или не нашлось что)
в принципе если баг - то системный сбой, там любое поведение возможно, так что закругляюсь.
4 мар 18, 14:53    [21235795]     Ответить | Цитировать Сообщить модератору
 Re: SSAS 2016 счетчики производительности процент попадания в агрегаты  [new]
flexdbtools
Member

Откуда:
Сообщений: 5
Denis@nk,

А статистика, которая лежит в OBJECT_ACTIVITY это совсем не то?:

OBJECT_AGGREGATION_HIT
OBJECT_AGGREGATION_MISS
7 мар 18, 22:30    [21244191]     Ответить | Цитировать Сообщить модератору
 Re: SSAS 2016 счетчики производительности процент попадания в агрегаты  [new]
Denis@nk
Member

Откуда:
Сообщений: 178
flexdbtools,

Затрудняюсь ее однозначно трактовать.
здесь https://technet.microsoft.com/ru-ru/library/bb934094(v=sql.110).aspx написано:

автор
OBJECT_AGGREGATION_HIT
Количество случаев обнаружения в кэше результатов статистической обработки объекта с начала работы службы.


Почему то у всех агрегатов OBJECT_READS = 0
22 мар 18, 11:14    [21276532]     Ответить | Цитировать Сообщить модератору
 Re: SSAS 2016 счетчики производительности процент попадания в агрегаты  [new]
Andy_OLAP
Member

Откуда: я знаю, что Зенит - чемпион
Сообщений: 2319
Denis@nk
Критик,

Наверное вот это моя проблема https://support.microsoft.com/en-us/help/3209426/fix-processing-a-partition-in-ssas-2016-drops-all-data-from-other-part, действительно надо ставить апдейт. Спасибо большое!

Коллега, а чем все закончилось - апдейт был установлен и помог?
26 мар 18, 23:55    [21288155]     Ответить | Цитировать Сообщить модератору
 Re: SSAS 2016 счетчики производительности процент попадания в агрегаты  [new]
Denis@nk
Member

Откуда:
Сообщений: 178
Andy_OLAP, извиняюсь за задержку с ответом, был в отпуске.

Да, апдейт помог, агрегаты перестали ломаться.
Дополнительно добавил Process Default в конце скрипта как посоветовал Критик. Это нужно для тех случаев если необходимо пересобрать агрегаты после изменений в измерениях.

Буду признателен если сообщество научит правильно трактовать статистику из системных таблиц.
8 апр 18, 19:34    [21321916]     Ответить | Цитировать Сообщить модератору
 Re: SSAS 2016 счетчики производительности процент попадания в агрегаты  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 30486
Блог
Denis@nk
правильно трактовать статистику из системных таблиц.


если вы про 101110001, то нужно через профайлер глянуть событие cube verbose или как-то так
8 апр 18, 19:42    [21321924]     Ответить | Цитировать Сообщить модератору
Все форумы / OLAP и DWH Ответить