On 11/23/05, Robert Wagner <robbie.wilhelm / gmail.com> wrote:
> you guys ever think of explaining wtf you talking about? rwb?? what is it?
> :)


rwb is the Ruby Web Bench, a Ruby library designed to let you run
performance/load tests against a webserver/website.   Using it you
can write scripts like this:

require 'rwb'

urls = RWB::Builder.new()
urls.add_url(50,
        "http://www.example.com/welcome")
urls.add_url(25,
        "http://www.example.com/expensive_dynamic_page")
search_terms = ['foo+bar', 'bar+baz', 'quux']
urls.add_url_group(10, "http://www.examples.com/search?",
        search_terms)

tests = RWB::Runner.new(urls, 50_000, 500)
tests.run

tests.sla_levels = [0.5, 0.9, 0.99]
tests.report_header
tests.report_overall([0.25, 0.5, 0.75])
tests.report_urls
tests.report_by_time


Which would create a report something like this:

Concurrency Level:       500
Total Requests:          50000
Total time for testing:  248.407943 secs
Requests per second:     201.281808448452
Mean time per request:   49  msecs
Standard deviation:      44
Overall results:
        Shortest time:  23 msecs
        25.0%ile time:  28 msecs
        50.0%ile time:  29 msecs
        75.0%ile time:  46 msecs
        Longest time:   276 msecs
Results for http://www.example.com/welcome:
        Shortest time:  23 msecs
        50.0%ile time:  29 msecs
        90.0%ile time:  123 msecs
        99.0%ile time:  210 msecs
        Longest time:   276 msecs
Results for http://www.example.com/expensive_dynamic_page:
        Shortest time:  23 msecs
        50.0%ile time:  29 msecs
        90.0%ile time:  122 msecs
        99.0%ile time:  210 msecs
        Longest time:   255 msecs
Results for http://www.example.com/search?:
        Shortest time:  24 msecs
        50.0%ile time:  29 msecs
        90.0%ile time:  120 msecs
        99.0%ile time:  209 msecs
        Longest time:   239 msecs
Results by time:
results for requests 0 - 10000
        Shortest time:  23 msecs
        50.0%ile time:  30 msecs
        90.0%ile time:  61 msecs
        99.0%ile time:  73 msecs
        Longest time:   104 msecs
results for requests 10000 - 20000
        Shortest time:  24 msecs
        50.0%ile time:  29 msecs
        90.0%ile time:  93 msecs
        99.0%ile time:  114 msecs
        Longest time:   140 msecs
results for requests 20000 - 30000
        Shortest time:  23 msecs
        50.0%ile time:  29 msecs
        90.0%ile time:  129 msecs
        99.0%ile time:  153 msecs
        Longest time:   232 msecs
results for requests 30000 - 40000
        Shortest time:  24 msecs
        50.0%ile time:  29 msecs
        90.0%ile time:  159 msecs
        99.0%ile time:  183 msecs
        Longest time:   203 msecs
results for requests 40000 - 50000
        Shortest time:  23 msecs
        50.0%ile time:  28 msecs
        90.0%ile time:  198 msecs
        99.0%ile time:  231 msecs
        Longest time:   276 msecs



There's also some info in the email you quoted below:

> --r
>
>
> 2005/11/9, pat eyler <pat.eyler / gmail.com>:

> > You can grab your copy from rubyforge.org/projects/rwb/ (a couple
> > of examples are hiding at www.red-bean.com/~pate as well).
> >
> > Don't forget to send me you comments, suggestions, requests, patches,
> > etc.

--
hth,
-pate
-------------------------