zanin Postado Abril 17, 2012 Compartilhar Postado Abril 17, 2012 Beleza pessoal? Existe uma ferramenta chamada ab (Apache Benchmark). Ela é usada, como o nome sugere, para executar testes de desempenho do Apache. Eu tenho usado esta tool as vezes em alguns testes básicos, mas certo dia vasculhando a página do manual (man ab) descobri um parâmetro interessante: -g (gnuplot-file). Como já conheço o gnuplot, resolvi dar uma googada para ver se minhas suspeita se confirmava: criar gráficos dos testes do ab. O resultado foi que achei um monte de páginas, e sim! O parâmetro era para isso mesmo! Transformar os resultados do ab em gráfico. :ph34r: Blah blah blah concluído, vou fazer uma síntese rápida sobre como fazer um teste como este: O teste será baseado em três simulações usando o ab, emulando o acesso de até 50 usuários efetuando 10 requisições por segundo. Será feita a primeira simulação, depois a segunda e depois a terceira. Vamos pegar os dados das três simulações e plotar em um gráfico através do gnuplot. O meu ambiente de simulação foi feito usando dois VPS. Onde um dos VPS foi onde efetuei os comandos para gerar os testes e o gráfico, e no outro VPS é o servidor alvo de meu teste (www.meusite.com). 1 - Instalar as ferramentas necessárias: httpd-tools gnuplot yum install httpd-tools gnuplot 2 - Vamos fazer a primeira simulação de acesso: ab -c 10 -n 50 -k -g /home/username/public_html/bench1.tsv http://seusite.com/ Não vou detalhar o comando acima, até porque logo no final deste texto terá links referentes as ferramentas usadas. Mas vale a pena algumas considerações: Substitua os parâmetros de acordo com sua necessidade. Neste caso, esta primeira simulação será gravada com o nome bench1.tsv no caminho abaixo: /home/username/public_html/bench1.tsv Eu optei salvar este arquivo na pasta public_html para me facilitar a visualização do gráfico. Logo após este parâmetro, temos outro parâmetro que é o site alvo, neste exemplo: http://seusite.com/ Troque-o de acordo com sua necessidade. Nota: é importante a barra "/" no final do endereço! 3 - Faça novamente o teste, mas mude o nome do arquivo bench2.tsv para que ele salve nosso segundo teste: ab -c 10 -n 50 -k -g /home/username/public_html/bench2.tsv http://seusite.com/ 4 - O mesmo para a última simulação (mudando novamente o nome para salvar a terceira simulação): ab -c 10 -n 50 -k -g /home/username/public_html/bench3.tsv http://seusite.com/ 5 - Agora temos nossas simulações salvas em 3 arquivos. Vá até a pasta onde salvamos os arquivos, no caso /home/username/public_html e vamos executar o gnuplot: <p>$ cd /home/username/public_html</p> <p>$ gnuplot</p> 6 - Neste ponto, você estará no prompt do gnuplot. Então vamos construir o gráfico: gnuplot> set terminal png gnuplot> set output "benchmark.png" gnuplot> set title "Benchmark for meusite.com" gnuplot> set size 1,1 gnuplot> set grid y gnuplot> set xlabel 'Requisicoes' gnuplot> set ylabel 'Tempo de Resposta (ms)' gnuplot> plot "bench1.tsv" using 10 smooth sbezier with lines title "Benchmark 1:", "bench2.tsv" using 10 smooth sbezier with lines title "Benchmark 2:", "bench3.tsv" using 10 smooth sbezier with lines title "Benchmark 3:" gnuplot> exit Pronto! Vc acaba de criar um arquivo na pasta home/username/public_html chamado de benchmark.png e poderá ver os resultados. Você pode usar este recurso para comparar o desempenho de seu site com outros por exemplo, ou verificar alterações de desempenho após alterar parâmetros de seu servidor, etc... Para facilitar sua vida, o gnuplot permite que você use um template de parâmetros, evitando ter que digitar os comandos do passo 6: Crie um arquivo chamado template.tpl e preencha o arquivo com o conteúdo abaixo: # Saída como imagem PNG set terminal png # Salvar o arquivo como "benchmark.png" set output "benchmark.png" # Título do gráfico set title "Benchmark de meusite.com" # Relação do tamanho da imagem set size 1,1 # Habilita grade para o eixo Y set grid y # Rótulo para o eixo X set xlabel "Requisicoes" # Rótulo do eixo Y set ylabel "Tempo de Resposta (ms)" # plot data from bench1.tsv,bench2.tsv and bench3.tsv using column 10 with smooth sbezier lines plot "bench1.tsv" using 10 smooth sbezier with lines title "Benchmark 1:", \ "bench2.tsv" using 10 smooth sbezier with lines title "Benchmark 2:", \ "bench3.tsv" using 10 smooth sbezier with lines title "Benchmark 3:" Com este arquivo criado, você executa os itens 2, 3 e 4 para gerar os dados da simulação e para gerar o gráfico, usamos o nosso template com o comando: gnuplot template.tpl Espero ter ajudado com essa dica. Abraços!! Sites de referência e consulta: http://httpd.apache....rograms/ab.html http://www.gnuplot.info/ http://www.karlosp.n...s-with-gnuplot/ http://tjholowaychuk...hing-benchmarks http://www.yolinux.c...nchmarking.html http://blog.secaserv...ache-benchmark/ Link para o comentário Compartilhar em outros sites More sharing options...
Jordan Miguel Postado Abril 17, 2012 Compartilhar Postado Abril 17, 2012 Ótimo tutorial zanin! Deve ter sido bem trabalhoso finalizar o gráfico, imagina o tutorial rsrs @Edit: UAHEUHAE, foi mal cara, acho que li um artigo em outro lugar e confundí. Link para o comentário Compartilhar em outros sites More sharing options...
zanin Postado Abril 17, 2012 Autor Compartilhar Postado Abril 17, 2012 kkk Vou pedir ao Chuva para agradecer então.. kkkkk Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados