10 Replies Latest reply: Mar 7, 2014 5:35 PM by Pablo Labbe RSS

    Performance Aplicação

    Leonardo Osorio

      Pessoal, será que alguém poderia me ajudar? Com dicas para melhorar a performance dessa app.

       

      Existe uma aplicação que está tendo problema de performance, as expressões dessa aplicação estão tudo em variaveis. Essa aplicação possui 3 abas somente essa app tem 78mb e está em um servidor dedicado com 32gb de ham. Para entrar na app via access point ela demora aproximadamente 40min para abrir, e a navegação é muito lenta.E quando entra 4 pessoas ao mesmo tempo, e 1 tenta extrair a base inteira derruba o serviço do qlikview.

        • Re: Performance Aplicação
          Aderlan Rodrigues

          Fala Leonardo,

           

          Tem um pessoal bom de performance aqui na comunidade, eu estou aprendendo nessa área.

           

          O que já aprendi é que o modelo de dados é determinante para uma boa performance. Então, revisa o modelo, veja se tem chave sintética etc.

           

          Na tela, veja os objetos criados, quanto menos cálculos melhor, deixe os cálculos no script, todos se possível.

           

          O mais, o pessoal deve dar melhores dicas aqui.

           

          Abraço.

           

          Enviado pelo meu wPhone

          • Re: Performance Aplicação
            Pablo Labbe

            Leonardo,

             

               Realmente parece haver algum problema na construção da aplicação que está causando essa excessiva lentidão.

             

               Como Aderlan falou, é preciso saber detalhes do modelo de dados utilizado, volume de dados nas tabelas, expressões utilizadas, objetos utilizados e por ai vai.

             

               Minha consultoria tem experiencia na análise e otimização de aplicações. Podemos ajudá-lo na otimização desta aplicação e nas demais que tenham sido desenvolvidas.

             

            Um abraço,

             

            Pablo

            • Re: Performance Aplicação

              Leonardo

               

              Atualmente trabalho com uma aplicação a qual estou tendo muito cuidado com esta questão de performance, pois preciso fazer cálculos agregados (Aggr) numa base com milhões de registros. E no meu caso fiz alguma ações principalmente no layout.


              - Trabalhar ao máximo com os objeto minimizados.

              - Dividir ao máximo em várias abas, principalmente na abas em que não é possível trabalhar com objetos minimizados (por exemplo, na aba que mostro os relógios com os índices, são 32 relógios, os quais inicialmente estavam todos na mesma, agora estão em 4 abas de 8 relógios).

              - Criei uma variável para controlar o layout para o usuário chamada "vVersao", nas quais ele pode escolher as opções "Completa" e "Simplificada". Isto porque para alguns usuários, a única coisa que interessa são as listagens de informações,  não estão nem aí para os gráficos. Então se logo na tela de abertura ele escolher que prefere a versão "Simplificada" eu oculto os objetos (exibição condicional), principalmente aqueles de cálculos mais pesados.

               

              E por último, no script garantindo que não existem chaves sintéticas, o negócio é tomar cuidado para não trazer muitos campos que você não vai usar pra nada.

               

              Se lembrar de mais alguma coisa eu adiciono aqui.

               

              Abraço

              • Re: Performance Aplicação
                Egnaldo de Sousa

                Olá Leonardo,

                 

                Já tive contato com algumas aplicações que tiveram problema de performance, e boa parte destes problemas eram originados das ilhas de dados na aplicação.

                Se possível retire todas as ilhas de dados vinculando-as as outras tabelas.

                 

                Abs.

                • Re: Performance Aplicação

                  Leonardo,

                   

                   

                  Você já está com a Build mais recente SR5?

                   

                  Depois que eu apliquei essa build tive um ganho de performance considerável, de repente seu problema pode ser corrigido com essa build.

                   

                  Se não for o caso procure realizar um teste de performance no servidor e veja se ele está apresentando alguma degradação no período de pico de utilização da sua aplicação.

                   

                  Uma terceira alternativa seria modularizar sua aplicação, já pensou a respeito?

                   

                   

                  Forte abraço!

                  Bruno Triunfo.

                  • Re: Performance Aplicação
                    Leonardo Osorio

                    Pessoal obrigado pela ajuda de vocês, o pessoal da In veio aqui na empresa, e deram algumas dicas, uma coisa que esta acontecendo é o arquivo Shared está crescendo muito, a app tem 78mb e o Shared tem 2GB. Outra coisa que estava prejudicando era a criação de bookmarks. Se eu tiver mais alguma novidade eu aviso.

                    • Re: Performance Aplicação
                      Pablo Labbe

                      Não é normal um arquivo shared crescer tanto. Creio que tenho algumas hipóteses, já que apesar deles não criarem objetos gráficos existem outras ações que também gravam dados no shared file:

                      - Marcadores de usuário (bookmarks) criados no servidor

                      - Input Fields

                      - Função Session Recovery ativada

                       

                      Marcadores em listas com grande numero de itens (milhares) selecionados também ocupam relativo espaço.

                       

                      No caso dos input fields, os dados alterados pelos usuários em campos input são armazenados no arquivo shared. Se eles executam ações de alteração de valores que impactem em um grande numero de registros da tabela, tudo isso é armazenado no shared.

                       

                        A função session recovery permite que ao sair e entrar novamente em uma aplicação, as seleções da ultima sessão do usuário são reaplicadas. Para isso ele cria automaticamente um marcador de servidor para cada usuário que acessa o documento, mesmo que ele seja excluido pela console , ele é recriado. Para desativar o recurso , que é global no servidor, acesse a console do servidor, aba system,selecione o serviço do qliview server, clique na aba documents e desmarque a opção "Allow Session Recovery".

                       

                       

                       

                      Abraço,

                       

                      Pablo