Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Saudacoes a todos novamente..
Creio que esta pergunta possa ser bem variavel sua resposta de acordo com a infra que cada desenvolvedor tem a disposição, mas vou lança-la aqui...
Existe alguma indicação quanto ao tamanho maximo de um arquivo QVW para que este possua bom desempenho ?
Possuo um servidor Bi-processado Xeon 1.64 ghz com 32 GB RAM ... e ao criar um dos primeiros aplicativos ficou com 800mb o QVW .. ficando lento a aplicacao de modo geral...
Olá Paulo,
O tamanho do arquivo QVW aumenta devido a diversos fatores como: número de objetos, variáveis, campos, tabelas e quantidade de valores distintos (O QV armazena os valores uma única vez e cria ponteiros caso os valores sejam iguais, porém se o campo for muito distinto, exemplo timestamp, aumenta a memória utilizada para armazenamento).
Existe um cálculo aproximado para saber o quanto de memória RAM será necessário para determinada aplicação. Se pegar como base o seu exemplo, um QVW de 800MB quando é descompactado para a memória RAM consome 3.2GB (cerca de 4x o tamanho do arquivo, o que chamamos de footprint). Cada usuário simultâneo que faz acesso ao arquivo no servidor utiliza cerca de 10% deste total, 320MB cada, com 10 usuários você tem mais 3.2GB totalizando 6.4GB só para esta aplicação. Aí temos mais o consumo do SO que é cerca de 1GB e aprox. 130MB dos serviços do QlikView, ~7.5GB.
Além da memória RAM, quando trata-se de performance temos o impacto de processamento. Quando você faz as seleções os gráficos precisam ser recalculados e isto exige processamento, eu não sei te dizer qual a arquitetura ideal para o seu problema mas o fato é que quanto mais potente o processador menor é o tempo de cálculo dos objetos.
Outros recursos que também afetam o desempenho de forma drástica estão associados à velocidade de acesso ao(s) disco(s) no servidor e se caso o QVS estiver instalado em uma máquina virtual existe uma queda de desempenho de 40%.
Espero ter ajudado.
Abraços,
Cesar
Olá Paulo,
O tamanho do arquivo QVW aumenta devido a diversos fatores como: número de objetos, variáveis, campos, tabelas e quantidade de valores distintos (O QV armazena os valores uma única vez e cria ponteiros caso os valores sejam iguais, porém se o campo for muito distinto, exemplo timestamp, aumenta a memória utilizada para armazenamento).
Existe um cálculo aproximado para saber o quanto de memória RAM será necessário para determinada aplicação. Se pegar como base o seu exemplo, um QVW de 800MB quando é descompactado para a memória RAM consome 3.2GB (cerca de 4x o tamanho do arquivo, o que chamamos de footprint). Cada usuário simultâneo que faz acesso ao arquivo no servidor utiliza cerca de 10% deste total, 320MB cada, com 10 usuários você tem mais 3.2GB totalizando 6.4GB só para esta aplicação. Aí temos mais o consumo do SO que é cerca de 1GB e aprox. 130MB dos serviços do QlikView, ~7.5GB.
Além da memória RAM, quando trata-se de performance temos o impacto de processamento. Quando você faz as seleções os gráficos precisam ser recalculados e isto exige processamento, eu não sei te dizer qual a arquitetura ideal para o seu problema mas o fato é que quanto mais potente o processador menor é o tempo de cálculo dos objetos.
Outros recursos que também afetam o desempenho de forma drástica estão associados à velocidade de acesso ao(s) disco(s) no servidor e se caso o QVS estiver instalado em uma máquina virtual existe uma queda de desempenho de 40%.
Espero ter ajudado.
Abraços,
Cesar
Caro Cesar..
Grato pelo apoio.
Acho que no meu caso minha aplicação contem em seus graficos muitos "IF" e objetos..
Existe mais alguma dica quanto a ser melhorado na aplicacao ou no QMC afim de otimizar a performance do QlikServer?
Olá Paulo,
Se o problema for nos objetos você pode amenizá-lo colocando condições de cálculo, diminuir a quantidade de objetos visíveis simultaneamente (quanto mais objetos mais processamento necessário), otimizar as suas expressões que usam IF para o set analysis se possível ou transferí-las para o script de carga. Tabelas dinâmicas com muitas dimensões e grande quantidade de linhas também tendem a reduzir a performance, se possível você pode aumentar o nível de agregação das informações durante a carga, ex: no lugar de ter 30 linhas com informações diárias você pode ter uma única que representa o mês (caso sua análise não exija período diário).