ATUALIZADO EM 03/07/2015
Olá pessoal,
No artigo de hoje vou apresentar rapidamente uma ferramenta muito interessante que estou utilizando para executar benchmark de performance em Bancos de Dados Oracle: o Swingbench. Swingbench é um software livre que foi desenvolvido em Java por Dominic Giles (especialista em Banco de dados da Oracle UK), projetado para executar e monitorar cargas de dados em Bancos de Dados Oracle 10G e 11G, instâncias standalone ou RAC. Ele pode ser instalado em Windows, Linux e vários outros sistemas operacionais e possui funcionalidades para simulação de 4 tipos de aplicações, entre elas a de Entrada de Pedidos, que funciona muito bem no Oracle 11G e que será apresentada neste artigo.
Para baixar o Swingbench, entre em http://www.dominicgiles.com/downloads.html. Após baixá-lo, se o SO da máquina for Linux, faça a instalação conforme as instruções do link http://www.dominicgiles.com/installation.html. Se o SO for Windows, substitua no roteiro do link anterior, os processos necessários para efetuar a instalação do Java (se não houver instalação prévia) e configure as variáveis de ambiente JAVAHOME e SWINGHOME apontando para os diretórios indicados no link.
Para usar a ferramenta é necessário criar antes da primeira utilização, os objetos de BD que serão utilizados para efetuar os testes. Para executar a instalação e iniciar os testes, leia e execute o que está descrito no link http://www.dominicgiles.com/simplebenchmark.html. O script oewizard deverá ser executado uma única vez para criar os objetos de BD. Após a criação destes objetos, execute o script swingbench para inicializar a aplicação e permitir o início dos testes de performance.
Eu estou utilizando este software para as seguintes finalidades:
1- Comparar performance de servidores de desenvolvimento, homologação e produção;
2- Comparar performance de BD antes e após alterações importantes que podem influenciar no desempenho dele, como por exemplo: upgrade de hardware no servidor do BD, upgrade de versão do Oracle, migração do BD para uma máquina nova, alterações de parâmetros etc.
Os principais indicadores de peformance que o Swingbench fornece e que eu acho que são os mais interessantes para efetuar as comparações de peformance, são: Average TPM (média de transações por minuto) e Average TPS (média de transações por segundo). Segue abaixo o valor do indicador Average TPM de alguns ambientes de BDs em que eu fiz testes por um tempo de 2 minutos (configurável na ferramenta) simulando 15 sessões de usuários concorrentes:
Abaixo você verá alguns prints de telas do Swingbench que demonstram os indicadores que eu comentei acima:
Para usar a ferramenta é necessário criar antes da primeira utilização, os objetos de BD que serão utilizados para efetuar os testes. Para executar a instalação e iniciar os testes, leia e execute o que está descrito no link http://www.dominicgiles.com/simplebenchmark.html. O script oewizard deverá ser executado uma única vez para criar os objetos de BD. Após a criação destes objetos, execute o script swingbench para inicializar a aplicação e permitir o início dos testes de performance.
Eu estou utilizando este software para as seguintes finalidades:
1- Comparar performance de servidores de desenvolvimento, homologação e produção;
2- Comparar performance de BD antes e após alterações importantes que podem influenciar no desempenho dele, como por exemplo: upgrade de hardware no servidor do BD, upgrade de versão do Oracle, migração do BD para uma máquina nova, alterações de parâmetros etc.
Os principais indicadores de peformance que o Swingbench fornece e que eu acho que são os mais interessantes para efetuar as comparações de peformance, são: Average TPM (média de transações por minuto) e Average TPS (média de transações por segundo). Segue abaixo o valor do indicador Average TPM de alguns ambientes de BDs em que eu fiz testes por um tempo de 2 minutos (configurável na ferramenta) simulando 15 sessões de usuários concorrentes:
1- Produção (Oracle 10g): 657;
2- Homologação (Oracle 10g): 618;
3- Desenvolvimento (Oracle 11g): 684.
Abaixo você verá alguns prints de telas do Swingbench que demonstram os indicadores que eu comentei acima:
|
Imagem 2 - Teste de performance do servidor de homologação |
Imagem 3 - Teste de performance do servidor de desenvolvimento |
Para aqueles que quiserem conhecer melhor a ferramenta e tiverem interesse em aprender a otimizar Bancos de Dados Oracle, ressalto que utilizo ela nos treinamentos Database Performance Tuning.
CONCLUSÃO:
A ferramenta Swingbench é uma ótima opção para fazer benchmark de performance entre BDs distintos e até mesmo para comparar a performance de um BD, contemplando o estado "antes" e "depois" de alguma alteração ou atualização.
Nos testes que eu fiz, o servidor de desenvolvimento foi o que apresentou melhor performance, porém, ressalto que ele é o único que eu já havia atualizado para a versão 11g do Oracle Database (acredito que isso deve ter influenciado na performance) e que os BDs de desenvolvimento e homologação estavam ociosos no momento da realização dos testes. Os testes no BD de produção foram realizados em um período que estava concorrendo com atividades de sessões de usuários de outras aplicações.
Por hoje é só! Espero que o artigo lhe seja útil!
[]s
Referências:
http://www.dominicgiles.com/swingbench.html
0 comments:
Postar um comentário