Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
junior_ehlke
Not applicable

Dica de Desempenho servidor

Boa tarde, começo com a configuração do meu servidor:

Xeon 2.40GHz com 8 núcleos

32GB RAM

Server 2008

Tenho um projeto do qual contém mais ou menos 90 a 100 variáveis com cálculos dentro delas.

Por exemplo, na var_Venda eu tinha o codigo =sum(venda) agora eu alterei para sum(venda).

Nesta alteração eu retirei o sinal de igual, isto me permite utilizar a variável em um gráfico =($var_Venda), dessa forma consigo trabalhar com dimensões. A questão é que pela quantidade de cálculos que meu projeto faz, a cada seleção o processador da pico em 100% e fica até finalizar a seleção, da forma antiga o projeto era bem mais rápido, porém eu perco a facilidade de usar variáveis em gráficos.

O que me dizem a respeito disso? Será que é necessário um upgrade na máquina ou não devo me preocupar com isto?

Tags (1)
24 Replies
pablolabbe
Not applicable

Re: Dica de Desempenho servidor

Olá Hamilton,

  Qual a versão do seu Qlikview Server ?

pablolabbe
Not applicable

Re: Dica de Desempenho servidor

Achei estes dois blogs que explicam que não há muita diferença em usar formulas em varíaveis ou diretamente nas expressões.

Seu problema parece ser outro.

Testing the performance implications of variables and label referencing versus direct expressions - ...

http://www.naturalsynergies.com/q-tip-6-those-tricky-sign-expansions/

Abraço,

Pablo Díaz Sanfeliu

junior_ehlke
Not applicable

Re: Dica de Desempenho servidor

Bom dia Pablo, a versão do server é a 11.0.11440.0.

Vou ler os links que você me mandou, porém tenho duas versões do projeto e a primeira a consulta é consideravelmente mais rápida.

junior_ehlke
Not applicable

Re: Dica de Desempenho servidor

Pablo, fiz o teste como mostra em um dos sites que você mandou e a diferença foi bem significativa, veja o que me diz. O Comparativo Original é a primeira forma de eu usar a variável =var_venda, o Comparativo Beta é a variável no formato novo $(=var_venda)

Resultado nos Objetos de Texto

Objeto Texto.png

Resultado das Variáveis

Variaveis.png

Media:

media.png

pablolabbe
Not applicable

Re: Dica de Desempenho servidor

Hamilton,

Resultados interessantes, meio que contradizem o que se falou nos blogs, mas é importante considerar o ambiente em que você está fazendo o teste.

Sua versão do Qlikview é bem antiga. Tem como você baixar a ultima versão do Qlikview (11.2 SR7 ou SR8) e refazer os testes ?

  Você está testando em um desktop ou via remoto no servidor ? Se for no servidor, ele é físico ou virtualizado ?

Abraço,

Pablo Labbe

junior_ehlke
Not applicable

Re: Dica de Desempenho servidor

Boa tarde Pablo,

realmente o resultado me surpreendeu também, executei o mesmo teste pelo menos 4 vezes após fazer cargas e seleções, o resultado foi o mesmo, isso mostra a importância de fazer os testes com projetos reais, a diferença do processamento em cálculos mais complexos foi gigantesca perto de testes com apenas Soma, independente da quantidade de registros.

Estou executando diretamente no servidor físico do qual falei anteriormente a configuração. Referente a versão, vou ver para atualizar o quanto antes e comparar os resultados.

pablolabbe
Not applicable

Re: Dica de Desempenho servidor

Você consegue testar no seu desktop com a mesma versão do qlikview desktop que está no server ?

pablolabbe
Not applicable

Re: Dica de Desempenho servidor

Lembrei que existem algumas considerações a serem tomadas em conta na configuração do servidor. Segue link com dicas sobre configuração relacionadas a BIOS e hardware para uma melhor performance

http://community.qlik.com/docs/DOC-2362

Pablo Labbe

fosuzuki
Not applicable

Re: Dica de Desempenho servidor

Hamilton,

posso estar enganado, mas entendo que existe uma diferença em cada abordagem.

Quando na variável você coloca '=Sum(Venda)', o QlikView primeiro avalia a variável (a cada mudança no estado das seleções), guarda o resultado e copia este resultado nos lugares onde vc usa a expansão de dólar. Então o QV faz uma espécie de pré-cálculo.

Agora quando na variável você coloca 'Sum(Venda)', sem o igual, o QlikView guarda apenas a fórmula, e quando você usa a expansão de dólar, o QV primeiro troca a variável pela fórmula e depois calcula ela.

Então, faz sentido que nos seus testes a primeira opção "Original" tenha sido mais rápida, já que há um pré-cálculo.

Dependendo de como você está criando seus objetos, o resultado também poderá ser diferente. Por exemplo em uma tabela simples com uma dimensão, a variável com '=Sum(Venda)' vai mostrar um mesmo número para todas as linhas, e a variável com 'Sum(Venda)' vai avaliar a fórmula para cada item da dimensão.

Edit: Acho que nas referências que o Pablo Labbe comentou, eles não comentam sobre a opção da variável com o sinal de igual na frente, pois conceitualmente ele dá um resultado diferente (como no meu exemplo acima).