Os utilitários Otimizar Cubo Linha de Base, Cache da Calculadora, Ordem de Resolução e Distribuição de Dados ajudam-no a ajustar os seus cubos para um melhor desempenho.
Utilitário | Dados Devolvidos |
---|---|
Linha de Base | Métricas de desempenho do cubo |
Ordem de Resolução | Ordem de resolução dos membros do cubo |
Cache da Calculadora | Dados para o ajudar a escolher o melhor valor da cache da calculadora para o cubo |
Distribuição de Dados | Dados para o ajudar a escolher as dimensões para ficar disperso e para ficar denso. |
As métricas controladas pelo utilitário Linha de Base mostram o desempenho do sistema. Utilize estas métricas para determinar o desempenho da linha de base e, em seguida, para calcular os benefícios das otimizações subsequentes que efetuar.
Antes de utilizar este utilitário, primeiro deve criar um livro da aplicação, incluindo a estrutura, definições de configuração, scripts de cálculo e consultas que pretende incluir no cubo.
Quando executa o utilitário, cria o cubo, carrega os ficheiros de dados selecionados, executa os scripts de cálculo selecionados e executa as consultas contidas no livro da aplicação. É importante ter uma amostra representativa das consultas dos seus utilizadores.
O utilitário de linha de base cria um dashboard da aplicação e dos processos operacionais, que podem ajudar a desenhar e otimizar o cubo. À medida que implementa alterações e recria o cubo, a linha de base ajuda-o a comparar iterações das modificações do cubo. No separador Essbase.Stats.Baseline do livro da aplicação, o utilitário de linha de base anexa novas tabelas com os mais recentes dados para cada iteração.
Preparar para executar o Utilitário Otimizar Cubo de Linha de Base num Cubo no Modo Híbrido
Conclua estas tarefas antes de executar o utilitário de linha de base:
Para criar um livro da aplicação, pode descarregar um livro da aplicação de exemplo e, em seguida, modificá-lo para se adaptar às suas necessidades. Consulte Explorar os Modelos da Galeria.
Se as folhas de consulta tiverem metadados de um servidor diferente, o Cube Designer apresenta um aviso e para o processamento até responder.
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 Otimizar Cubo de Linha de Base num Cubo no Modo Híbrido
O utilitário Linha de Base identifica dimensões densas e dispersas, tamanho de dados (tamanhos de ficheiro PAG e IND), tamanho do bloco e os dados, índice e tamanhos da cache da calculadora. Além disso, fornece métricas para o carregamento de dados, cálculo e consulta.
Para executar o utilitário Linha de Base:
As folhas de cálculo são executadas pela ordem em que aparecem no livro da aplicação. Otimizar Cubo ignora a propriedade Executar Cálculo nas folhas de cálculo.
Só são suportados os scripts de cálculo que podem ser executados a partir das Tarefas em Otimizar Cubo. Não pode executar scripts de cálculo que dependam do contexto de grelha do Smart View atual (por exemplo, cálculos definidos utilizando a função @GRIDTUPLES ou os que utilizam variáveis de substituição de runtime definidas com identificadores <svLaunch>).
Se não tiver uma folha de dados no livro da aplicação, ser-lhe-á pedido para selecionar dados e ficheiros de regras do catálogo. É uma boa prática armazenar os dados e os ficheiros de regras num diretório partilhado no catálogo para que os ficheiros não se percam quando recriar o cubo.
Demorará algum tempo a criar o cubo.
O Essbase gera a folha Essbase.Stats.Baseline e acrescenta-a ao livro.
Alterar uma dimensão dinâmica reduz essa quantidade.
Reveja as ordens de resolução dos membros calculados e efetue alterações para reduzir o número de execuções de fórmula e melhorar o desempenho, ou considere armazenar um membro calculado com fórmulas para reduzir o número de execuções de fórmula e melhorar o desempenho.
O utilitário Ordem de Resolução fornece-lhe uma representação visual do fluxo da ordem de resolução na aplicação. Isto pode ajudar a diagnosticar os problemas de desempenho de consulta relativamente às fórmulas.
Para executar o utilitário Otimizar Ordem de Resolução do Cubo:
Utilize as informações na folha Essbase.Stats.SolveOrder para ajustar a ordem de resolução de modo a otimizar o desempenho de consulta. Consulte Otimizar o Cubo para o Modo Híbrido e Ordem de Resolução no Modo Híbrido.
O utilitário Cache da Calculadora recomenda a definição da cache da calculadora para o cubo.
Utilizar a definição da cache da calculadora correta pode ser uma melhoria no desempenho importante quando estiverem a ser calculadas as dimensões dispersas na totalidade num script de cálculo. Calcular uma dimensão dispersa na totalidade é uma técnica de redução do número de blocos requeridos por uma consulta.
O valor por omissão da cache da calculadora é de 200.000 bytes. O valor máximo é 20.000.000 bytes.
A cache da calculadora deverá ser definida para um tamanho suficiente apenas para conter as dimensões dispersas calculadas no script de cálculo. Definir a cache da calculadora para um tamanho superior ao necessário tem um impacto negativo no desempenho.
Em geral, a melhor escolha é a dimensão maior.
O algoritmo da cache da calculadora seleciona as dimensões dispersas a colocar na cache, a começar com a primeira dimensão dispersa.
O cubo deve ser criado para que o utilitário Cache da Calculadora funcione.
O utilitário apresenta a definição da cache correta junto a cada dimensão de 20 MB, no máximo. Se for acima de 20 MB, é mostrado N/A. Em geral, as definições com apenas alguns MBs a mais não são necessárias.
Acrescente este valor à secção Definição da Aplicação da folha de cálculo Cube.Settings. Em alternativa, pode definir o valor das definições de configuração da aplicação na interface da Web do Essbase. É uma boa prática arredondar para cima, para dar mais alguma margem.
O utilitário de distribuição de dados ajuda-o a compreender os dados numa aplicação, permitindo-lhe tomar importantes decisões sobre como otimizar o seu cubo.
As dimensões densas definem os blocos numa aplicação de armazenamento em blocos. Idealmente, um bloco deverá conter dimensões com a maior parte dos dados e representar a disposição de consulta predominante para essa aplicação. Para as aplicações de relatórios financeiros, normalmente as dimensões Tempo e Conta deverão ser densas.
Um dos fatores que afeta o desempenho de consulta é o número de blocos pedidos pela consulta. Se o número de blocos pedidos for demasiado alto, o desempenho de consulta é afetado. Para reduzir o número de blocos pedidos, calcule previamente os membros de nível superior de uma ou mais dimensões dispersas. Primeiro, defina o atributo de armazenamento de dimensões dos membros superior como um atributo armazenado (Armazenar ou Nunca Partilhar) e, em seguida, execute um script de cálculo que agregue essa dimensão utilizando CALC DIM ou AGG.
Para otimizar o script de cálculo utilizado para agregar as dimensões dispersas armazenadas, utilize o comando FIXPARALLEL. É importante selecionar as dimensões de tarefa corretas. Uma dimensão de tarefa é a que determina como o cálculo é dividido em threads e executado em paralelo. Uma ou mais dimensões dispersas deverão conter a maior parte dos dados para reduzir as tarefas em branco e, idealmente, os dados deverão ser distribuídos uniformemente.
Este processo pode demorar muito tempo na execução, especialmente em modelos maiores.