mike@shiner $ ab -n 1000 -c 10 http://localhost:8080/test-ui/ 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 localhost (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 Completed 1000 requests Finished 1000 requests Server Software: Apache-Coyote/1.1 Server Hostname: localhost Server Port: 8080 Document Path: /test-ui/ Document Length: 7891 bytes Concurrency Level: 10 Time taken for tests: 13.262 seconds Complete requests: 1000 Failed requests: 0 Write errors: 0 Total transferred: 8054000 bytes HTML transferred: 7891000 bytes Requests per second: 75.40 [#/sec] (mean) Time per request: 132.624 [ms] (mean) Time per request: 13.262 [ms] (mean, across all concurrent requests) Transfer rate: 593.05 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 0 0 0.6 0 12 Processing: 5 132 349.6 28 3087 Waiting: 5 130 349.4 26 3087 Total: 5 132 349.7 28 3087 Percentage of the requests served within a certain time (ms) 50% 28 66% 84 75% 145 80% 168 90% 264 95% 376 98% 1450 99% 2412 100% 3087 (longest request)
The tool has a lot of really great features and I'll try to exemplify some of them here. The following shows how you can change the User-Agent to a variant of Internet Explorer (thanks goes to www.useragentstring.com for the value). I've also set the verbosity level to 4 so I can verify the 'User-Agent' value is set as intended. I've excluded the output for brevity.
mike@shiner $ ab -v 4 -H "User-Agent: Mozilla/5.0 (compatible; MSIE 6.0; Windows NT 5.1)" http://localhost:8080/test-ui/
Next is an example where I set the value of a cookie. I run into situations where I need to evaluate code for cell testing. It happens to be that our cell testing code is dependent on cookie values.
mike@shiner $ ab -n 1000 -c 10 -C "cellNum=10" http://localhost:8080/test-ui/
The following is an example of setting the -G flag, which will output a file named 'perf.out' which can be used with GnuPlot. The file doesn't have to be used with just GnuPlot. It can also be used with IDL, Mathematica, Igor, and Excel.
mike@shiner $ ab -n 1000 -c 10 -G perf.out http://localhost:8080/test-ui/