7. March 2012

Web stress test by Apache Benchmarking Tool

Sometimes you need to identify bottleneck of web application.

You can use Selenium to record and repeat the same steps over and over.

Another solution is to use Apache Benchmarking Tool.

E.g. You need to send 1000 requests in 10 concurrent threads to localhost:

ab -c 10 -n 1000 http://localhost/

For Debian users: you can find this mighty command in apache2-utils package.

Sample result:

Server Software:        Apache-Coyote/1.1
Server Hostname:        localhost
Server Port:            80

Document Path:          /
Document Length:        405 bytes

Concurrency Level:      10
Time taken for tests:   0.524 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      650000 bytes
HTML transferred:       405000 bytes
Requests per second:    1907.13 [#/sec] (mean)
Time per request:       5.243 [ms] (mean)
Time per request:       0.524 [ms] (mean, across all concurrent requests)
Transfer rate:          1210.58 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    2   0.5      2       4
Processing:     0    3   0.5      3       4
Waiting:        0    2   0.7      2       4
Total:          2    5   0.3      5       8