Linux, Open-source, Programação e Produtividade

AB (ApacheBench)

Jonas Abreu em 30/03/2012

Minha 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.

Creative Commons License
AB (ApacheBench) de Jonas Abreu está licenciado sob Creative Commons License.