There are two good apache benchmarks that I’m aware of :
ab – Apache HTTP server benchmarking tool
and siege – An HTTP/HTTPS stress tester
In details :
a) ab : written in perl, open source, various options, the one that I’m using mostly is – ab -n 1000 -c 5 http://myServerAddress.com/myfiles.cgi – those are examples , where -n means “Number of requests to perform for the benchmarking session”, and -c flag means “Number of multiple requests to perform at a time” the sample output is :
Benchmarking myServerAddress.com (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Finished 1000 requests
Server Software: Apache/2.2.8
Server Hostname: myServerAddress.com
Document Path: /myfiles.cgi
Document Length: 526 bytes
Concurrency Level: 5
Time taken for tests: 1.608432 seconds
Complete requests: 1000
Failed requests: 0
Write errors: 0
Total transferred: 796590 bytes
HTML transferred: 527052 bytes
Requests per second: 621.72 [#/sec] (mean)
Time per request: 8.042 [ms] (mean)
Time per request: 1.608 [ms] (mean, across all concurrent requests)
Transfer rate: 483.08 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 2 2.5 2 17
Processing: 2 4 2.7 4 29
Waiting: 0 2 2.6 2 27
Total: 4 7 2.9 6 29
Percentage of the requests served within a certain time (ms)
50% 6
66% 7
75% 7
80% 7
90% 8
95% 17
98% 18
99% 20
100% 29 (longest request)
This utility comes pre-installed with most of the Linux distros, so just type in shell session : ab and see if it comes out with something. If not, install it depending on your package management system.
Now, let’s see how siege is doing, sample line :
siege -c 50 -r 50 http://myServerAddress.com/yetAnotherFile, where -c is concurrent users, and -r is number of iterations, here’s the sample output :
Transactions: 2500 hits
Availability: 100.00 %
Elapsed time: 34.53 secs
Data transferred: 488.39 MB
Response time: 0.01 secs
Transaction rate: 72.40 trans/sec
Throughput: 14.14 MB/sec
Concurrency: 0.95
Successful transactions: 2500
Failed transactions: 0
Longest transaction: 0.16
Shortest transaction: 0.00
Both are very good, they have different features that might suit your needs, check them out.


