Утилиты оптимизации куба Baseline, Calc Cache, Solve Order и Data Distribution помогают настроить кубы для повышения производительности.
Утилиты | Возвращаемые данные |
---|---|
Baseline | Метрики производительности куба |
Solve Order | Порядок решения элементов в кубе |
Calc Cache | Данные, помогающие выбрать наилучший объем кэш-памяти расчетов для куба |
Data Distribution | Данные, помогающие выбрать измерения в качестве разреженных и плотных |
Метрики, отслеживаемые утилитой Baseline, показывают, как работает система. Используйте эти метрики для определения базовой производительности, а затем для измерения преимуществ последующих оптимизаций.
Перед использованием этой утилиты сначала необходимо создать рабочую книгу приложения, включая структуру, настройки конфигурации, сценарии вычислений и запросы, которые необходимо включить в куб.
При запуске утилиты создается куб, загружаются выбранные файлы данных, выполняются выбранные сценарии вычислений и запросы, содержащиеся в рабочей книге приложения. Важно иметь репрезентативную выборку запросов от пользователей вашей системы.
Утилита Baseline создает панель управления для приложений и операционных процессов, которая может помочь в проектировании и оптимизации куба. При внедрении изменений и перестроении куба утилита Baseline помогает сравнить итерации изменений куба. На вкладке Essbase.Stats.Baseline в рабочей книге приложения утилита Baseline добавляет новые таблицы с последними данными для каждой итерации.
Подготовка к запуску утилиты оптимизации куба Baseline для куба в гибридном режиме
Перед запуском утилиты Baseline выполните указанные ниже действия.
Чтобы создать рабочую книгу приложения, можно выгрузить шаблон книги приложения, а затем изменить ее в соответствии с вашими потребностями. См. раздел "Обзор шаблонов галереи".
Если на листах запросов содержатся метаданные с другого сервера, Конструктор кубов отображает предупреждение и приостанавливает обработку до тех пор, пока не будет получен ответ.
Настройка | Значение |
---|---|
ASODYNAMICAGGINBSO | FULL |
HYBRIDBSOINCALCSCRIPT | NONE |
INDEXCACHESIZE | 100M |
DATACACHESIZE | 100M |
ASODEFAULTCACHESIZE | 100 |
MAXFORMULACACHESIZE | 102400 |
INPLACEDATAWRITEMARGINPERCENT | 20 |
CALCCACHEDEFAULT | 200000 |
LONGQUERYTIMETHRESHOLD | -1 |
Запуск утилиты оптимизации куба Baseline для куба в гибридном режиме
Утилита Baseline определяет плотные и разреженные измерения, размер данных (размеры файлов PAG и IND), размер блока, а также размеры кэша данных, индекса и расчета. Кроме того, она предоставляет метрики для загрузки данных, расчета и запроса.
Чтобы запустить утилиту Baseline, выполните указанные ниже действия.
Электронные таблицы расчетов выполняются в порядке появления в рабочей книге приложения. Оптимизация куба игнорирует свойство Выполнить расчет на листах для расчета.
С помощью оптимизации куба поддерживаются только сценарии расчетов, которые могут выполняться из заданий. Нельзя запускать сценарии расчета, зависящие от текущего контекста сетки Smart View (например, вычисления, определенные с помощью функции @GRIDTUPLES, или сценарии, использующие подстановочные переменные среды выполнения, определенные с тегами <svLaunch>).
Если в рабочей книге приложения нет таблицы данных, появится запрос на выбор файлов данных и правил из каталога. Рекомендуется хранить данные и файлы правил в общем каталоге, чтобы при перестроении куба файлы не потерялись.
Создание куба займет некоторое время.
Essbase создает лист Essbase.Stats.Baseline и добавляет его в рабочую книгу.
Изменение динамического измерения на сохраняемое уменьшает это значение.
Просмотрите порядок решения вычисляемых элементов и внесите изменения, чтобы уменьшить количество выполняемых формул и повысить производительность, или попробуйте сохранить вычисляемый элемент, содержащий формулы, чтобы уменьшить количество выполняемых формул и повысить производительность.
Утилита Solve Order обеспечивает визуальное представление потока порядка решения, используемого в приложении. Это может помочь в диагностике связанных с формулами проблем производительности запросов.
Запуск утилиты Solve Order для оптимизации кубов:
Используйте информацию на листе Essbase.Stats.solveorder, чтобы настроить порядок решения для оптимизации производительности запросов. См. разделы Оптимизация куба для гибридного режима и Порядок решения в гибридном режиме.
Утилита Calc Cache рекомендует оптимальную настройку кэш-памяти расчетов для куба.
Использование правильной настройки кэш-памяти расчетов может стать важным фактором улучшения производительности при полном вычислении разреженных измерений в сценарии расчета. Полное вычисление разреженного измерения позволяет сократить количество блоков, необходимых для запроса.
По умолчанию размер кэш-памяти расчетов составляет 200 000 байт. Максимальное значение равно 20 000 000 байт.
Кэш-память расчетов должна быть достаточно большой, чтобы содержать разреженные измерения, рассчитанные в сценарии расчета. Выделение большей кэш-памяти расчета, чем это необходимо, отрицательно влияет на производительность.
Лучший выбор — это, как правило, наибольшее измерение.
Алгоритм кэш-памяти расчета выбирает разреженные измерения для размещения в кэш-памяти, начиная с первого разреженного измерения.
Для работы утилиты Calc Cache необходимо создать куб.
Утилита отображает правильные настройки кэш-памяти рядом с каждым измерением до 20 МБ. При размере свыше 20 МБ выводится сообщение N/A. Как правило, достаточно настройки, не превышающей пару МБ.
Добавьте это значение в раздел "Настройки приложения" на листе Cube.Settings. Кроме того, значение можно задать в настройках конфигурации приложения в веб-интерфейсе Essbase. Рекомендуется округлить его, чтобы обеспечить дополнительное пространство.
Утилита Data Distribution помогает лучше понять данные в приложении и позволяет принимать важные решения по оптимизации куба.
Плотные измерения определяют блоки в приложении для блочного хранения. В идеале блок должен содержать измерения с наибольшим количеством данных и представлять собой основной макет запроса для этого приложения. Для приложений финансовой отчетности это обычно означает, что измерения Time и Account должны быть плотными.
Одним из факторов, влияющих на скорость обработки запросов, является количество блоков в запросе. Если запрошенное количество блоков слишком велико, производительность запроса снижается. Чтобы уменьшить количество запрошенных блоков, предварительно рассчитайте элементы верхнего уровня одного или нескольких разреженных измерений. Сначала установите атрибут хранения измерений верхних элементов в качестве сохраненного атрибута (Сохранять или Без общего доступа), а затем запустите сценарий расчета, который выполнит сведение этого измерения с помощью CALC DIM или AGG.
Для оптимизации сценария расчета, используемого для сведения сохраненных разреженных измерений, используйте команду FIXPARALLEL. Важно выбрать правильные измерения задачи. Измерение задачи — это измерение, которое определяет, как расчет разделяется на потоки и выполняется параллельно. Один или несколько разреженных измерений должны содержать большую часть данных для сокращения количества пустых задач, и в идеале эти данные должны быть распределены равномерно.
Этот процесс может занять длительное время, особенно для больших моделей.