Pular para o conteúdo principal

Framework para benchmark - Phoronix Test Suite

Bom dia pessoal,

Ano passado, eu tive um projeto de migração de servidores middleware
para fazer e umas das tarefas para eu executar era verificar quais tecnologias utilizar, tais como sistemas de arquivos, arquitetura do kernel, escalonador de I/O, entre outras, para utilizar nos novos servidores.

Eu já tinha passado por uma experiência de verificar a performance entre sistemas de arquivos e escalonador de I/O para utilizar em partições para armazenamento de dados pelo SGBD PostgreSQL. Na época, eu usei os softwares iozone, bonnie++, BenchmarkSQL e Gnuplot para fazer os testes e comparar os resultados. Lembro que deu muito trabalho devido ao rígido processo de executar os testes com um ambiente nivelado para não ocorrer erros e desvios entre os testes.



Para este novo projeto, eu tive que pensar em uma maneira de executar os testes entre diferentes cenários sem perder tempo. Foi aí que, procurando na WEB, eu encontrei uma ferramenta que já faz tudo o que eu precisava, o PTS - Phoronix Test Suite. O PTS é um framework espetacular. Ele integra diversos benchmarks que executam testes de disco, memória, sistema, gráfico, rede e processador.

Vou explicar como é feita a instalação em ambiente GNU/Linux Debian, porém você pode instalar a ferramenta em sistemas Linux, OpenSolaris, *BSD, entre outros.


Instalação

Para instalar o PTS, é necessário a instalação das seguintes dependências:
- php5-cli
- php5-gd

Após baixar o arquivo phoronix-test-suite_4.0.0_all.deb , execute o seguinte comando:
# dpkg -i phoronix-test-suite_4.0.0_all.deb
Se após a execução do comando acima surgir mensagens de dependência de pacotes, execute o comando abaixo para resolver, baixar e instalar as dependências.
# apt-get -f install
Para outras distribuições e sistemas, acesse o site http://www.phoronix-test-suite.com/?k=downloads e faça o download.

Uma listagem das versões anteriores está disponível no endereço http://phoronix-test-suite.com/releases/


Executando o PTS

Após a instalação do PTS, basta executar o comando phoronix-test-suite interactive. Irá surgir um menu para você escolher qual opção deseja executar. Em um primeiro momento, você não precisa se preocupar, pois ao selecionar uma das opções de teste, automaticamente o sistema irá baixar os softwares necessários para executar os testes. A primeira execução de um teste ou suíte de testes pode demorar um pouco, pois é necessário baixar os softwares que realizam os testes e também suas dependências.

Se você desejar ver as principais opções para utilizar a ferramenta, basta executar o comando phoronix-test-suite.

Um exemplo de execução do PTS de forma não interativa é:
# phoronix-test-suite benchmark disk
Este benchmark executa uma conjunto de testes de disco e foi projetado para executar testes reais em discos e sistemas de arquivos.

Para saber quais as suítes de testes podem ser executadas pelo PTS, acesse o site do projeto OpenBenchmarking.

O que mais chama a atenção neste framework são os relatórios gerados. Estes relatórios são bem elaborados e fazer a comparação entres os testes realizados se torna uma tarefa fácil. Lembro até hoje do tempo que fiquei para plotar os resultados dos testes do iozone usando o Gnuplot. Fui bem trabalhoso (porém os gráficos do Gnuplot são altamente profissionais) .

Vou demonstrar aqui como executar um teste informando os dados para gravar o relatório.

 Execute:
# phoronix-test-suite benchmark memory
Aparecerá as seguintes perguntas:

- Would you like to save these test results (Y/n): Y
- Enter a name to save these results under: <nome_teste>
- Enter a unique name to describe this test run / configuration: <descricao_do_teste>
- New Description: (Aqui exibe a descrição do seu sistema, se não deseja alterar, pressione <enter>)

Neste momento, o teste iniciará. Quando o teste finalizar, será exibida a mensagem se deseja exibir os resultados no browser.

Do you want to view the results in your web browser (y/N): (se você não quiser ver os resultados no momento, poderá mais tarde acessar o resultado no seguinte diretório: ~/.phoronix-test-suite/test-results/<nome_teste>/composite.xml)

A próxima pergunta é: Would you like to upload the results to OpenBenchmarking.org (Y/n): (tecle Y se deseja enviar o resultado do teste para o site OpenBenchmarking.org)

Pronto. Agora é só analisar os resultados. Veja algumas imagens do resultado com o teste que eu fiz de memória.




Comentários

Postagens mais visitadas deste blog

Integração Zabbix + GLPI

Versão atualizada Essa atualização é em consequência de pedidos vindo dos gringos e também a pedido da Zabbix SIA por ser o 4.º conteúdo mais popular no recém criado  https://share.zabbix.com/  e o 1.º entre os brasileiros.   Para conferir a lista dos mais populares, acesse  https://share.zabbix.com/popular Há um tempo que eu queria desenvolver algo para integrar o Zabbix a algum outro sistema. Esse ano surgiu uma oportunidade de implementação de alguns sistemas de inventário e gerenciamento de chamados. Logo pensei em fazer uma integração para abertura e fechamento automático dos tickets quando ocorresse algum problema que o Zabbix identificasse. Porém, o meu entusiasmo foi logo caindo quando eu percebi que não era uma coisa tão trivial de se fazer. Pesquisei várias fontes em busca de informações a respeito dessa integração, porém não passavam de tutoriais ensinando como abrir tickets no GLPI enviando um e-mail. Estudando mais um pouco o GLPI, percebi que não era possível

Primeiros passos com API do Zabbix

Bom galera, Faz tempo que não posto nada sobre Zabbix. Então, quis presentear vocês com um conteúdo mais avançado. Espero que ao menos 1 vez por mês coloco mais assuntos como esse no blog. Vou mostrar para vocês como utilizar a API do Zabbix. Antes vou explicar de forma básica o que API para os que não sabem do que se trata. Programadores tem a obrigação de saber.  :P - API  - Application Programming Interface  - é um conjunto de rotinas e padrões estabelecidos por um software. Isso permite que aplicações de terceiros utilizem as funcionalidades oferecidas pelo software.

Usando LSOF para verificar porta usada por determinado processo

Outro dia fui realizar alguns testes em aplicações rodando no JBoss e verifiquei que nenhuma aplicação estava funcionando. Verifiquei no log do JBoss que o serviço iniciava e ocorria vários erros, informando que não conseguia fazer o deploy das aplicações. Mesmo parando o serviço do JBoss, verifiquei com a ferramenta nmap que a porta 8080 continuava aberta.