Os utilitários de Otimização do Cubo Linha de Base, Cache de Cálculo, Ordem de Resolução e Distribuição de Dados ajudam você a ajustar seus cubos para um melhor desempenho.
Utilitário | Dados Retornados |
---|---|
Linha de Base | Métricas de desempenho do cubo |
Ordem de Resolução | Ordem de resolução dos membros do cubo |
Cache de Cálculo | Dados para ajudar a escolher o melhor valor do cache da calculadora para o cubo |
Distribuição de Dados | Dados para ajudar a escolher quais dimensões devem ser tornadas esparsas e quais devem ser tornadas densas |
As métricas rastreadas pelo utilitário Linha de Base mostram como está o desempenho do sistema. Use essas métricas para determinar o desempenho da linha de base e depois para mensurar os benefícios das otimizações subsequentes que você fizer.
Antes de usar esse utilitário, primeiro você cria uma pasta de trabalho do aplicativo, incluindo o outline, definições de configuração, scripts de cálculo e consultas que deseja incluir no cubo.
Quando você executa o utilitário, ele cria o cubo, carrega os arquivos de dados selecionados, executa os scripts de cálculo selecionados e executa as consultas contidas na pasta de trabalho do aplicativo. É importante ter uma amostra representativa de consultas de seus usuários.
O utilitário de linha de base cria um painel de controle dos processos operacionais e do aplicativo, o que pode ajudar a projetar e otimizar o cubo. À medida que você implementa alterações e recria o cubo, a linha de base ajuda a comparar iterações das modificações do cubo. Na guia Essbase.Stats.Baseline da pasta de trabalho do aplicativo, o utilitário de linha de base anexa novas tabelas com os dados mais recentes de cada iteração.
Preparar a execução do Utilitário de Linha de Base Otimizar Cubo em um Cubo de Modo Híbrido
Conclua essas tarefas antes de executar o utilitário de linha de base:
Para criar uma pasta de trabalho do aplicativo, você pode fazer download de uma amostra de pasta de trabalho do aplicativo e depois modificá-la de acordo com suas necessidades. Consulte Explorar Modelos de Galeria.
Se as planilhas da consulta tiverem metadados de outro servidor, o cube designer exibirá uma advertência e pausará o processamento até que você responda.
Definição | Valor |
---|---|
ASODYNAMICAGGINBSO | FULL |
HYBRIDBSOINCALCSCRIPT | NONE |
INDEXCACHESIZE | 100M |
DATACACHESIZE | 100M |
ASODEFAULTCACHESIZE | 100 |
MAXFORMULACACHESIZE | 102400 |
INPLACEDATAWRITEMARGINPERCENT | 20 |
CALCCACHEDEFAULT | 200000 |
LONGQUERYTIMETHRESHOLD | -1 |
Executar o Utilitário de Linha de Base Otimizar Cubo em um Cubo de Modo Híbrido
O utilitário Linha de Base identifica dimensões densas e esparsas, o tamanho dos dados (tamanhos de arquivo PAG e IND), o tamanho do bloco e os tamanhos dos dados, índice e cache da calculadora. Além disso, ele fornece métricas para carga de dados, cálculo e consulta.
Para executar o utilitário Linha de Base:
As planilhas de cálculo são executadas na ordem em que aparecem na pasta de trabalho do aplicativo. A operação Otimizar Cubo ignora a propriedade Executar Cálculo nas planilhas de cálculo.
Apenas scripts de cálculo que podem ser executados pelos Jobs são suportados na operação Otimizar Cubo. Você não pode executar scripts de cálculo que dependem do contexto de grade atual do Smart View (por exemplo, cálculos definidos com o uso da função @GRIDTUPLES ou aqueles que usam variáveis de substituição no runtime definidas com tags <svLaunch>).
Se não houver uma folha de dados na pasta de trabalho do aplicativo, você será solicitado a selecionar arquivos de dados e de regras no catálogo. É uma boa prática armazenar os arquivos de dados e de regras em um diretório compartilhado no catálogo, para que os arquivos não se percam quando você recriar o cubo.
Levará algum tempo para criar o cubo.
O Essbase gera a planilha Essbase.Stats.Baseline e a adiciona à pasta de trabalho.
Esse valor será reduzido por meio da alteração de uma dimensão dinâmica para uma dimensão armazenada.
Analise as ordens de resolução dos membros calculados e faça alterações para reduzir o número de execuções da fórmula e melhorar o desempenho. Como alternativa, considere armazenar um membro calculado contendo fórmulas para reduzir o número de execuções da fórmula e melhorar o desempenho.
O utilitário Ordem de Resolução oferece uma representação visual do fluxo de ordem de resolução usado no aplicativo. Isso pode ajudar a diagnosticar problemas de desempenho da consulta relativos a fórmulas.
Para executar o utilitário Otimizar Ordem de Resolução do Cubo:
Use as informações da planilha Essbase.Stats.SolveOrder para ajustar a ordem de resolução a fim de otimizar o desempenho da consulta. Consulte Otimizar o Cubo para o Modo Híbrido e Ordem de Resolução no Modo Híbrido.
O utilitário Cache de Cálculo recomenda a definição ideal do cache da calculadora para o cubo.
O uso da definição correta do cache da calculadora pode representar uma melhoria importante no desempenho ao calcular dimensões esparsas inteiras em um script de cálculo. O cálculo de uma dimensão esparsa inteira é uma técnica para reduzir o número de blocos necessários a uma consulta.
O valor padrão do cache de cálculo é de 200.000 bytes. O valor máximo é de 20.000.000 de bytes.
O cache da calculadora deve ser definido com o tamanho apenas suficiente para conter as dimensões esparsas que são calculadas no script de cálculo. A definição do cache da calculadora com um valor maior do que o necessário tem um impacto negativo no desempenho.
A melhor opção é, em geral, a maior dimensão.
O algoritmo do cache da calculadora seleciona as dimensões esparsas para colocar no cache, começando pela primeira dimensão esparsa.
O cubo deve ser criado para que o utilitário Cache de Cálculo funcione.
O utilitário exibe a definição correta do cache próximo a cada dimensão, até 20 MB. Acima de MB, ele mostra N/D. Em geral, as definições acima de alguns MB não são necessárias.
Adicione esse valor à seção Definições do Aplicativo da planilha Cube.Settings. Como alternativa, você pode definir o valor nas definições de configuração do aplicativo, na interface web do Essbase. É uma boa prática arredondar, para permitir um pouco mais de margem.
O utilitário de distribuição de dados ajuda a entender melhor os dados de um aplicativo, permitindo que você tome decisões importantes sobre como otimizar seu cubo.
As dimensões densas definem os blocos em um aplicativo de armazenamento em blocos. Numa situação ideal, um bloco deve conter dimensões com a maior parte dos dados e representar o layout de consulta predominante para esse aplicativo. Em aplicativos de geração de relatórios financeiros, isso em geral significa que as dimensões de Tempo e Conta devem ser densas.
Um dos fatores que afetam o desempenho da consulta é o número de blocos solicitados pela consulta. Se o número de blocos solicitados for muito alto, o desempenho da consulta será prejudicado. Para reduzir o número de blocos solicitados, pré-calcule os membros de nível superior de uma ou mais dimensões esparsas. Primeiro, defina o atributo de armazenamento da dimensão dos membros superiores para um atributo armazenado (Armazenar ou Nunca Compartilhar) e, em seguida, execute um script de cálculo que agregue essa dimensão usando CALC DIM ou AGG.
Para otimizar o script de cálculo usado para agregar as dimensões esparsas armazenadas, use o comando FIXPARALLEL. É importante selecionar as dimensões de tarefa corretas. Uma dimensão de tarefa é aquela que determina como o cálculo é dividido em threads e executado em paralelo. Uma ou mais dimensões esparsas devem conter a maior parte dos dados para reduzir tarefas vazias e, numa situação ideal, esses dados devem ser distribuídos uniformemente.
A execução desse processo pode demorar, especialmente em modelos maiores.