A PERFORMANCE DE SOFTWARE CONSIDERANDO O TAMANHO DA BASE, QUANTIDADE DE CLIENTES E DE TAREFAS SIMULTÂNEAS

  • Martin José Fagonde MORÃES
  • Orlei José POMBEIRO
Palavras-chave: Performance, Banco de Dados, Multithread, Benchmark

Resumo

No desenvolvimento de um sistema, durante a análise e a implementação, tem-se a preocupação quanto a performance do mesmo, no que tange as relações entre a persistência de dados, quantidade de usuários e a quantidade de tarefas que podem ser executadas concorrencialmente (thread). Estes mesmos fatores crescem ao longo da existência do sistema. Os dados são armazenados e a base de dados só cresce, novos colaboradores interagem com o sistema e novas funcionalidades são implementadas, principalmente em função dos mobiles e da web que propiciam várias thread para cada usuário que se conecta ao sistema. Este trabalho focou em mapear as grandezas das relações destes três fatores na performance do sistema. Ter um conjunto de referências com grandezas objetivas propicia, aos profissionais envolvidos no desenvolvimento e manutenção, parâmetros que contribuirão no dimensionamento das tecnologias e soluções a serem adotadas. Para identificar as grandezas, objetivo deste trabalho, foi desenvolvido um software para gerar requisições em bancos de dados (DB), onde o mesmo registra o tempo de cada operação. Neste software implementou-se o recurso de multithread com o objetivo de identificarmos a variação da performance com diferentes quantidades de threads. O estudo foi realizado na base de dados gerado pelo software. Os diferentes senários são analisados com foco na evolução da performance. O estudo proposto foca a performance em relação as três variáveis apresentadas, independente do Sistema de Gerenciamento de Banco de Dados (SGDB). São diversos os estudos que apresentam comparação do desempenho entre os diferentes SGDB, estes estudos são geralmente denominados de benchmarking. Este trabalho não incorpora as preocupações que são relevantes nos estudos de benchmark em softwares. Os cenários analisados são com bases de dados relacionais em tabelas puras, sem índices, chaves e etc... Identificou-se com este estudo que o tamanho da base de dados tem um pequeno impacta nas operações de inserção de dados, já nas operações de consulta o impacto é mais significante. Com requisições por meio das threads, o aumento de requisições no DB não impacta na perda de performance do sistema bem como não gera ganhos significativos. O trabalho mostrou resultados muito úteis aos desenvolvedores, principalmente aos que não tem experiência nos cenários aqui trabalhados.
Publicado
2016-06-08