Гость
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Прогрев кеша через CREATE CACHE / 8 сообщений из 8, страница 1 из 1
11.01.2022, 18:06
    #40125856
Oblom
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прогрев кеша через CREATE CACHE
Есть запрос MDX вида
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
WITH
    MEMBER [Measures].[Rubles Calc] AS '([Measures].[Volume Rub], [Dim Active Categories].[Act Category Id].&[1])'
    MEMBER [Measures].[Stocks Calc] AS '([Measures].[Volume Rub], [Dim Active Categories].[Act Category Id].&[2])'
    MEMBER [Measures].[Bondes Calc] AS '([Measures].[Volume Rub], [Dim Active Categories].[Act Category Id].&[3])'
    MEMBER [Measures].[Currencies Calc] AS '([Measures].[Volume Rub], [Dim Active Categories].[Act Category Id].&[4])'
    MEMBER [Measures].[Summary] AS '([Measures].[Real Rest Rub Last Child]-[Measures].[Income Rest Rub First Child]+[Measures].[Rubles Calc]+[Measures].[Stocks Calc]+[Measures].[Bondes Calc]+[Measures].[Currencies Calc])'
SELECT {[Measures].[Summary]} ON COLUMNS
FROM [PortfolioAnalystCube]
WHERE ([Dim Date].[Date].&[2021-01-01T00:00:00]:[Dim Date].[Date].&[2021-10-08T00:00:00],[Dim Sub Accounts].[Treaty].&[3017]);


Диапазон дат и счёт (treaty) это параметры, всё остальное фиксированное. При первом запуске запроса с определенным набором параметров отрабатывает порядка 900 мс, при повторном запуске с теми же параметрами за 0 мс.

Хочется сделать так, чтобы при первом запуске отрабатывал за 0 мс для любого набора параметров. Диапазонов дат не ограничено, счетов больше миллиона, простой перебор и запуск запроса со всеми возможными параметрами - не вариант.

Читаю хрестоматийную статью на которую ссылаются все, кто отвечает на вопрос про прогрев кеша.
Там написано, используйте CREATE CACHE для нужного вам набора мер и измерений.
Использую:
Код: sql
1.
2.
3.
4.
5.
6.
7.
create cache for [PortfolioAnalystCube]
as (
{ [Measures].[Volume Rub], [Measures].[Real Rest Rub Last Child], [Measures].[Income Rest Rub First Child] }
* { [Dim Date].[Date].children }
* { [Dim Active Categories].[Act Category Id].children }
* { [Dim Sub Accounts].[Treaty].children }
)


Запрос отрабатывает, память пухнет, вроде как кеш прогрели.

Выполняем запрос, картина не изменилась, первый запуск порядка 900 мс, второй 0 мс

Есть сильное подозрение, что запрос на CREATE CACHE неправильно создан для искомого запроса. Может кто подсказать, в чем косяк?
...
Рейтинг: 0 / 0
11.01.2022, 19:09
    #40125867
ShIgor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прогрев кеша через CREATE CACHE
Oblom,

ну так вы прогрели SE кэш, а не FE.
и 900ms это вот прям очень долго?
...
Рейтинг: 0 / 0
11.01.2022, 22:37
    #40125912
Oblom
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прогрев кеша через CREATE CACHE
ShIgor,

а как прогреть FE? Только точно такими же запросами?

Да, увы, 900 мс это нереально долго для задачи, которую хочется решить.
...
Рейтинг: 0 / 0
11.01.2022, 23:53
    #40125922
Oblom
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прогрев кеша через CREATE CACHE
Наткнулся на статью , ухватил мысль "In my experience if you have the right aggregations built then you can get excellent response times even on a cold cache. Of course to build aggregations you need to know the granularities of data that your users’ queries are, but you need the same information to warm the cache."
Сделал агрегаты, время запроса снизилось с 900 мс до 50 мс, что уже лучше.

Но если кто-то расскажет как прогреть FE кеш, кроме как перебором всех возможных вариантов запросов, буду премного благодарен.
...
Рейтинг: 0 / 0
11.01.2022, 23:59
    #40125924
ShIgor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прогрев кеша через CREATE CACHE
Oblom,

попробуйте вычисления перенести в скрипт куба и в команде прогрева указывать их тоже.
...
Рейтинг: 0 / 0
12.01.2022, 00:23
    #40125926
Oblom
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прогрев кеша через CREATE CACHE
ShIgor,

спасибо, подумаю как это можно сделать. Там параметризованный запрос, но все MEMBERS: [Rubles Calc], [Stocks Calc], [Bondes Calc], [Currencies Calc], [Summary] из запроса, наверное, можно в вычисляемые меры добавить.

Кстати, весь профит от агрегатов, и с кешем и без него время запроса порядка 50 мс.
...
Рейтинг: 0 / 0
12.01.2022, 00:40
    #40125928
ShIgor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прогрев кеша через CREATE CACHE
Oblom,

с переносом вычисляемых мер в скрипт должно помочь.
т.к. есть 3 типа кэша FE: глобальный, сессии и запроса, в зависимости от того где создается вычисление, в скрипте куба, на уровне сессии (create member) или в запросе (with member). есть исключения, но не суть важно.
...
Рейтинг: 0 / 0
12.01.2022, 12:31
    #40125979
Oblom
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прогрев кеша через CREATE CACHE
ShIgor,

понял, спасибо большое! буду запихивать в куб
...
Рейтинг: 0 / 0
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Прогрев кеша через CREATE CACHE / 8 сообщений из 8, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]