Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Boa tarde,
tenho 3 aplicações no meu access point, das quais, juntando todas elas, o valor total é de 800mb.
Ao abrir uma aplicação no browser, o consumo do QVS.exe aumentou para mais de 1gb, e ao simular o uso da aplicação a memória aumentou ainda mais, chegando em alguns momentos gerar a mensagem de out of object memory, além de exibir lost connection.
Já configurei no QMC o aumento do cálculo do objeto para 1800 segundos, timeout dos documentos, 480 minutos.
Certas dimensões que usam cálculo já foram colocadas condicionais.
Quais outras dicas para melhorar a performance da aplicação?
Grato pela atenção.
Boa noite.
No caso de hardware, se não for maquina virtual dar uma olhada na questão NUMA.
Outra situação seria questão de datas (se tem hh:mm) e os autonumber...
Em um modelo reduzi o consumo de uns 300mega da memoria (caiu de 2.2g para 1.9g) somente usando o floor() nas datas (SQL Server - datetime) e mudando as chaves concatenadas (Campo1 & Campo2 &....) por autonumber.
Recentemente li um bom post do HIC sobre os hops (joins).
A Myth about the Number of Hops
Paulo, você precisa analisar alguns temas nos seus qvws:
Em relação ao servidor:
Não estou acessando agora o servidor, vou responder alguns pontos que já sei:
Paulo, você precisa analisar alguns temas nos seus qvws:
Em relação ao servidor:
Somente o QlikView Server que funciona nesse servidor.
QvServer 11 SR5.
Hoje está em processo de homologação pelo cliente, algo em torno de 3 usuários.
Não existe carga sendo executada.
Paulo,
- Uma aplicação quando aberta no servidor, pode expandir para 4 a 10 vezes o seu tamanho em QVW.
- Como Yuri comentou, teria que avaliar modelo de dados e expressões nos objetos.
- Número excessivo de objetos em uma aba sendo mostrados simultaneamente consome recurso de cpu e memória.
- Quanto a timeout de objeto, não adianta muito alterar o parâmetro no servidor, o ideal é focar na raiz do problema que é a aplicação e seus objetos.
- Quanto a mensagem de lost connection, teriamos que avaliar os logs do serviço QVServer e ver se tem alguma mensagem. Outro lugar para olhar é nos eventos do Windows.
Abraço,
Pablo Labbe
Boa noite.
No caso de hardware, se não for maquina virtual dar uma olhada na questão NUMA.
Outra situação seria questão de datas (se tem hh:mm) e os autonumber...
Em um modelo reduzi o consumo de uns 300mega da memoria (caiu de 2.2g para 1.9g) somente usando o floor() nas datas (SQL Server - datetime) e mudando as chaves concatenadas (Campo1 & Campo2 &....) por autonumber.
Recentemente li um bom post do HIC sobre os hops (joins).
A Myth about the Number of Hops
Paulo, você precisa analisar alguns temas nos seus qvws:
Não possuí tabela(s) sintética(s).
Modelagem do tipo estrela.
Os cálculos são set analysis com sum. Algo não muito pesado, cálculos normais de vendas.
Possuí, agregação, formatação numérica e data e um if de agregação, um total de 6 dimensões.
Não possuí.
Tem imagens, porém são logos de empresas, nada muito grande.
Possuí macros, porém só são acionadas quando clicadas no botão, mas não é algo complexo, só resetar campos, realizado.
Em relação ao servidor:
Somente o QlikView Server que funciona nesse servidor.
QvServer 11 SR5.
2 processadores e memória de 24gb.
Hoje está em processo de homologação pelo cliente, algo em torno de 3 usuários.
Não existe carga sendo executada.
Farei uma revisão na aplicação toda pois não foi desenvolvida/trabalhada por mim.
Boa Alessandro,
estou lendo aqui e fiquei intrigado de como a arquitetura do servidor, com mais sockets de processador e até processador melhor, roda os reloads tasks mais demorado.
Muito bom material Alessandro.
Obrigado à todos pelas dicas.
Bom, a macro limpa todo o cache do servidor, então te oriento a não utiliza-la neste momento (até que identifiquemos a causa raiz da lentidão).
Elimine todas as dimensões calculadas dos gráficos.
2 cores eu acho pouco, o ideal é no minimo 4 para homologação. O Qlikview calcula os gráficos em multithread de forma que ele ocupa todos os processadores disponíveis quando ele renderiza os gráficos. Se você tem cálculos complexos, e usuários simultâneos, somente com 2 cores você terá um gargalo de processamento..
Você tem 1 core para SO e 1 core para o Qlikview.
Se colocar uma carga nesse meio tempo para rodar, ai piora.
Pablo, isso é em ambiente de produção.
Vou analisar melhor a aplicação, tentar otimizar ao máximo, e se faltar core ou memória, vou sugerir aumentar.
Obrigado pela dica.
Abraço.