Análise de Performance

March 7, 2019

Relatório demorando 20x mais para rodar?

 

Estamos buscando sempre ganhar tempo, seja para aproveitar aquele hobby no final de semana, ou mesmo para dormir 5 minutos a mais. No trabalho não é diferente, precisamos mais e mais de uma resposta ágil. Quanto mais a tecnologia evolui, cresce, parece que em exponencial, a quantidade de informações que precisam ser processadas. Com isso, aquele relatório  superimportante, que demorava alguns poucos minutos a alguns anos, já está levando horas. Aí entra a análise de performance na programação.

 

Analisar a performance de um programa ou relatório que já está em uso requer paciência e ferramentas adequadas. No SAP, por exemplo, temos a transação ST12 que avalia cada linha ou bloco de código durante a execução, demonstrando por exemplo, o tempo que o mesmo levou, quantas vezes foi executado e o percentual de tempo despendido na execução completa. Com essas informações em mãos podemos verificar o que está consumindo maior tempo e então buscar soluções adequadas.

Entre os problemas mais comuns encontrados estão:

 

  • A falta de boas práticas de programação;

  • Busca de informações do banco de dados sem um índice adequado;

  • Processos que sofreram modificações ou mesmo não são mais necessários.

A falta de boas práticas de programação

 

Este é um erro comum, principalmente em programas antigos, quando a base de dados ainda era pequena, e o desempenho não impactava em nada no momento do uso. Mas, com o crescimento da base de dados passa a ser um grande consumidor de tempo.

 

Existem técnicas que quando utilizadas agilizam a execução, na verdade fazem o programa processar menos informações. Um exemplo disso é a pesquisa binaria, que se comparada a pesquisa sequencial, em uma tabela com grande quantidade de registros, pode reduzir em 100 vezes, 1000 vezes, ou até mais dependendo do tamanho da tabela.

Busca de informações do banco de dados sem um índice adequado

 

A busca no banco de dados é também um dos problemas de performance que acontecem com frequência e tem 2 motivos. Ou a seleção dos dados não está de acordo com algum índice na tabela do banco, ou a quantidade de registros selecionados é muito grande.

 

Neste tipo de problema, deve-se buscar a adequação do índice ou buscar uma execução de forma paralela, dividindo assim em quantidade de registros menores.

Processo que sofreram modificações ou mesmos não são mais necessários

 

Este é o ponto mais difícil de ser identificado, pois requer uma análise mais profunda no processo, normalmente envolvendo outras pessoas (aquelas que fazem parte do processo), revisando-o e verificando se o método aplicado atende as reais necessidades.

 

Neste caso, é de suma importância entender o que o código faz, a quantidade que registros são selecionadas e como são utilizadas essas informações. A partir disso, deve-se conversar com os envolvidos, buscando encontrar uma melhor solução para mesmo, seja na redução de dados ou na identificação de informações não utilizadas.

 

Assim, resolvendo esses 3 principais pontos, a performance do programa ou relatório tende a ser muito mais satisfatória. É de suma importância a contratação de profissionais qualificados para realizar esse tipo de tarefa. Mas cuidado, performance não é tudo, atente para o fato de as informações estarem corretas, de nada adianta o relatório ser rápido, mas faltarem dados significativos. Os testes após esse tipo de melhoria devem ser bastante criteriosos.

Compartilhar
Twitter
Please reload