AB (ApacheBench)
Jonas Abreu em 30/03/2012Minha ferramenta preferida para exercitar uma aplicação web. O ab é simples e eficiente.
Basicamente ele é uma ferramenta para executar requisições para uma url. Simples assim.
E ele te facilita a vida deixando você especificar quantas e o nível de concorrência que você quer.
ab -n NUMERO_REQUISICOES -c REQUISICOES_EM_PARALELO URL
Por exemplo, rodando
ab -n 20 -c 1 http://www.javaperformance.com.br/
ele produz a seguinte saída na minha máquina:
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking www.javaperformance.com.br (be patient).....done
Server Software: AmazonS3
Server Hostname: www.javaperformance.com.br
Server Port: 80
Document Path: /
Document Length: 4470 bytes
Concurrency Level: 1
Time taken for tests: 12.206 seconds
Complete requests: 20
Failed requests: 0
Write errors: 0
Total transferred: 96340 bytes
HTML transferred: 89400 bytes
Requests per second: 1.64 [#/sec] (mean)
Time per request: 610.317 [ms] (mean)
Time per request: 610.317 [ms] (mean, across all concurrent requests)
Transfer rate: 7.71 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 169 282 80.1 269 538
Processing: 200 328 85.7 314 604
Waiting: 152 278 80.6 265 546
Total: 369 610 156.2 582 1141
Percentage of the requests served within a certain time (ms)
50% 582
66% 627
75% 668
80% 683
90% 779
95% 1141
98% 1141
99% 1141
100% 1141 (longest request)
A saída dele te dá diversos dados úteis, incluíndo a média e o desvio padrão.