couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dave Cottlehuber <d...@muse.net.nz>
Subject Re: couchdb-stress testing
Date Fri, 30 Mar 2012 07:05:09 GMT
On 30 March 2012 06:36, Mike Coolin <mcoolin@techie.com> wrote:
> Hello all,
>
>  I've started to put together some tools to test couchdb in a number of ways. Ideally
this tool will provide a means to new users to better understand how couch will perform in
their environments, additionally it could be used to assist then in tuning their system for
expected loads.
>
>  When I first threw this idea out there I got a number of suggestion. One big time saver
was to use a proven erlang tool for testing, so I have been looking into it. tsung (http://tsung.erlang-projects.org/
), is a testing tool that can scale, and its written in erlang. It's really not to hard to
get running, I'd recommend installing from the site and running though the build process.
Some of the packed versions out there are very old and don't work. The documentation is weak.
That said I did an exercise to get the xml required to run the tests. the results were much
bigger than expected but futon does not just exercise the code but often requests object from
the web server creating allot of background noise. That not really a problem as tsung does
provide a nice little recorder for capturing the xml that needs to be written and now it just
a matter of whipping it into the appropriate loops.
>
>  The project can be found at: git://github.com/mcoolin/couchdb-stress.git
>
>  Don't go running off their yet there's not much to see but some analysis documents
and some rough ideas I've thrown together. Please email or add to the project if you can.
>
>  I invite you to toss you ideas and suggestion for testing and testing profiles/approaches
that you think would be helpful.
>
>  I fully expect that there will be several testing files that treat the server in different
ways, such as a read only vs logging vs read/write. multiple databases and multiple users
on each. Tsung can be run on the same machine as couch, but it can also be placed on a server
farm and produce millions of requests for stated periods of time.
>
>  It is not my intention to repeat the futon test in tsung, I just used if to scrape
of the xml I'll need for writing tests. But the exercise did reveal a few surprises. Some
7 sections failed, likely due to some special handling needed by tsung or maybe some feature
in couchdb or timing issues.
>
>  Testing was done against today's 1.2 version, please note that the trailing number
refers to a page number of the results. I captured the logs of the errors and the calls that
were made for those of you who are inclined to investigate. In the next few days I will try
to get a sample going of at least one type of test. I'm pretty green with couchdb and tsung
so if you have suggestions I'm all ears, I can create specific test suites that reveal warts
with your help that hopefully in future will help those developing make couch even better.
>
>  Testing recording of futon 1.2.0 with tsung-recorder 1
[snip]

This looks fantastic Mike!!

I'm keen to pitch in and see if we can use this for some
cross-platform benchmarking as well.

A+
Dave

Mime
View raw message