12 Replies Latest reply: Jul 8, 2016 5:27 PM by Clever Anjos RSS

    QVS.exe consumindo muita memória

    Paulo Dantas

      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.

        • Re: QVS.exe consumindo muita memória
          Yuri Nicolett

          Paulo, você precisa analisar alguns temas nos seus qvws:

          • Possui tabela(s) sintética(s)?
          • Como esta a modelagem de sua aplicação?
          • Como estão os cálculos (expressões) de seus gráficos? São complexos?
          • Algum gráfico possui dimensão calculada?
          • Possui ilhas de dados (tabelas isoladas) que são relacionadas com outras tabelas, em gráficos através de IFs?
          • Sua aplicação possui muitas imagens anexadas?
          • Sua aplicação possui macros?

           

          Em relação ao servidor:

          • Possui somente o serviço do QlikView Server funcionando?
          • Qual a versão do QvServer?
          • Qual o hardware de seu servidor? (Memória/Processamento)
          • Quantidade de usuários que acessam cada aplicação.
          • Existe carga sendo executada durante horário comercial da empresa?
            • Re: QVS.exe consumindo muita memória
              Paulo Dantas

              Não estou acessando agora o servidor, vou responder alguns pontos que já sei:

               

              Paulo, você precisa analisar alguns temas nos seus qvws:

              • Possui tabela(s) sintética(s)?
              • Como esta a modelagem de sua aplicação?
              • Como estão os cálculos (expressões) de seus gráficos? São complexos?
              • Algum gráfico possui dimensão calculada?
              • Possui ilhas de dados (tabelas isoladas) que são relacionadas com outras tabelas, em gráficos através de IFs?
              • Sua aplicação possui muitas imagens anexadas?
              • Sua aplicação possui macros?

              Em relação ao servidor:

              • Possui somente o serviço do QlikView Server funcionando?

                     Somente o QlikView Server que funciona nesse servidor.

              • Qual a versão do QvServer?

                     QvServer 11 SR5.

              • Qual o hardware de seu servidor? (Memória/Processamento)
              • Quantidade de usuários que acessam cada aplicação.

                    Hoje está em processo de homologação pelo cliente, algo em torno de 3 usuários.

              • Existe carga sendo executada durante horário comercial da empresa?

                      Não existe carga sendo executada.

              • Re: QVS.exe consumindo muita memória
                Paulo Dantas

                Paulo, você precisa analisar alguns temas nos seus qvws:

                • Possui tabela(s) sintética(s)?

                        Não possuí tabela(s) sintética(s).

                • Como esta a modelagem de sua aplicação?

                         Modelagem do tipo estrela.

                • Como estão os cálculos (expressões) de seus gráficos? São complexos?

                         Os cálculos são set analysis com sum. Algo não muito pesado, cálculos normais de vendas.

                • Algum gráfico possui dimensão calculada?

                        Possuí, agregação, formatação numérica e data e um if de agregação, um total de 6 dimensões.

                • Possui ilhas de dados (tabelas isoladas) que são relacionadas com outras tabelas, em gráficos através de IFs?

                         Não possuí.

                • Sua aplicação possui muitas imagens anexadas?

                         Tem imagens, porém são logos de empresas, nada muito grande.

                • Sua aplicação possui macros?

                        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:

                • Possui somente o serviço do QlikView Server funcionando?

                       Somente o QlikView Server que funciona nesse servidor.

                • Qual a versão do QvServer?

                        QvServer 11 SR5.

                • Qual o hardware de seu servidor? (Memória/Processamento)

                        2 processadores e memória de 24gb.

                • Quantidade de usuários que acessam cada aplicação.

                        Hoje está em processo de homologação pelo cliente, algo em torno de 3 usuários.

                • Existe carga sendo executada durante horário comercial da empresa?

                        Não existe carga sendo executada.

                 

                Farei uma revisão na aplicação toda pois não foi desenvolvida/trabalhada por mim.

              • Re: QVS.exe consumindo muita memória
                Pablo Labbe

                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

                • Re: QVS.exe consumindo muita memória
                  Alessandro Furtado

                  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

                  • Re: QVS.exe consumindo muita memória
                    Pablo Labbe

                    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.

                    • Re: QVS.exe consumindo muita memória
                      Clever Anjos

                      Já conseguiu a resposta? Se sim, escolha uma e marque como "Correta" para fechar o tópico e nos ajudar a manter a comunidade organizada