segunda-feira, 10 de agosto de 2009

(DICA) Otimização - Parte 3 (Gerenciamento de memória e Caches)

"Hyperionmen" de plantão! boa tarde!

Continuando nossa série de Dicas de Otimização do Essbase, hoje, falaremos sobre boas práticas no que diz respeito a Gerenciamente de Memória e Caches.

Não coloco a descrição completa pois este assunto é muito abrangente. O objetivo deste tópico é para você atentar para estas práticas e, para uma explanação avançada, use o administration guide. Caso não possua, mande-me um e-mail solicitando que eu envio na mesma hora.

Bom, as dicas são as seguintes:

Para cubos BSO:

1 - Caches

  • Data Cache: Impacta diretamente na configuração do CALCLOCKBLOCK (Essbase.cfg) e nas funções que se utilizam RANGE, principamente em dynamic calcs.
  • Data File Cache: É usado apenas para o Direct I/O
  • Index Cache: Impacta diretamente na velocidade de locazição de blocos. Extramamente importante para o Retrieve.

2 - Dynamic Calculator Cache:

É um pedaço de memória, onde possuem blocos de dados expandidos e neste espação são incluídos os membros que deverão ser calculados dinamicamente. O Essbase Aloca essa memória para armazenar esses blocos durante consultas ou cálculos que envolvam mebros calculados.

Com o uso deste você melhora o desempenho de sua aplicação visto que você estará reduzindo o número de chamadas do SO para alocação de memória.

3 - Retrieval Buffer

  • Usado apenas em dimensões densas. Para configurá-lo vá em Aplicação > DB > Edit > Properties
  • Multiplique a quantidade de membros stored de todas as dimensões densas que estarão no retrieve.

Exemplo:

Outline

Produto (Denso) : 1400 membros
Tempo (Denso): 12 membros
Cliente (Denso): 170 membros

Considere que, apenas, as dimensões Produto e Tempo estarão no retrieve, logo, para calcular o valor correto, faça:
1400 x 12 = 16.800
em seguida:
16.800 x 8 (bytes por célula) = 134.400 bytes ou 134,4kb para o Report Retrieval Buffer

4 - Retrieval Sort Buffer

  • É o tamanho do Buffer, em kb, que o servidor manterá para os dados que deverão ser ordenados, seja ele no Reports, Add-In, Analyser/Web Analysis ou qualquer aplicação.
  • O tamanho padrão do Buffer é de 10kb, para você definir um tamanho adequado teste um report script com diferentes configuração e ordenções e, vá alterando o seu buffer.

IMPORTANTE: Se o buffer encher o essbase eviará uma mensagem de Erro, portanto configure-o corretamente.

Para Cubos ASO:

1 - Pending Cache

É o tamanho, em MB, que cada agregação pode crecer.
O Valor mínimo é de 32MB, você deverá definir o valor máximo baseado em um cálculo (Consulte referência).

2 - Outline Paging Cache

Cubos ASO são pagináveis. O uso dessa característica pode reduzir significativamente o o uso de memória para Databases mais robustos. Para cubos ASO, o essbase faz um pré-carga de parte do database para dentro da memória, logo durante o retrieve o essbase vai enviador outras partes para dentro da memória conforme necessário.

Quando você estiver criando um cubo ASO, este é criado no formato Pageable, inclusive quando você usa o Wizard para converter um BSO para ASO.

Dependendo de como você deseja balancear o seu uso de memória e o tempo de retrieve, você pode otimizar o seu outline usando uma ou mais das seguintes opções de configuração em seu Essbase.cfg.

  • PRELOADMEMBERNAMESPACE: para não realizar a pré-carga de membros.
  • PRELOADALIASNAMESPACE: para não realizar a pré-carga de alias.

Espero tê-los ajudado com mais uma dica.

abs.
Equipe do Blog Hyperion Brasil

Nenhum comentário:

Postar um comentário

Se você possui uma dúvida, comente e entre em contato conosco para acelerarmos o processo: contato@hyperionbrasil.com