powered by simpleCommunicator - 2.0.19     © 2024 Programmizd 02
Map
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Прогрев кеша через CREATE CACHE
8 сообщений из 8, страница 1 из 1
Прогрев кеша через CREATE CACHE
    #40125856
Oblom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть запрос 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
Прогрев кеша через CREATE CACHE
    #40125867
ShIgor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Oblom,

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

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

Да, увы, 900 мс это нереально долго для задачи, которую хочется решить.
...
Рейтинг: 0 / 0
Прогрев кеша через CREATE CACHE
    #40125922
Oblom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наткнулся на статью , ухватил мысль "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
Прогрев кеша через CREATE CACHE
    #40125924
ShIgor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Oblom,

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

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

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

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

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


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