I've always used, but never really like ab for looking at Apache performance. The big things that I've wanted to do with it was hit multiple urls according to a defined ratio. After a bit of hacking on the bus, I've got a working kernel (uner 150 lines of Ruby). I can run a script like this:
config = {
"http://localhost/first" => '50',
"http://localhost/second" => '30',
"http://localhost/third" => '20'}
urls = RWBBuilder.new(config)
tests = RWBRunner.new(urls, 10000, 100)
tests.report
and I'll get back a report like this:
Concurrency Level: 100
Total Requests: 10000
Total time for testing: 48.786909 secs
Requests per second: 204.973018479199
Mean request time: 0.0048786909 secs
Results for http://localhost/first
Numer of runs: 4864
Shortest time: 0.02031 secs
50%ile time: 0.036371 secs
90%ile time: 0.045528 secs
99%ile time: 0.263913 secs
99.9%ile time: 1.555193 secs
Longest time: 1.556691 secs
Results for http://localhost/second
Numer of runs: 3142
Shortest time: 0.021777 secs
50%ile time: 0.035928 secs
90%ile time: 0.045415 secs
99%ile time: 0.289059 secs
99.9%ile time: 1.49962 secs
Longest time: 1.554188 secs
Results for http://localhost/third
Numer of runs: 1988
Shortest time: 0.016705 secs
50%ile time: 0.03639 secs
90%ile time: 0.04559 secs
99%ile time: 1.256631 secs
99.9%ile time: 1.496296 secs
Longest time: 1.544625 secs
Once I get it cleaned up a bit more, I'll release it for general use.
11/03/2005
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment