Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/felixge/couchdb-benchmarks

some benchmark scripts for testing CouchDB performance
https://github.com/felixge/couchdb-benchmarks

Last synced: about 2 months ago
JSON representation

some benchmark scripts for testing CouchDB performance

Awesome Lists containing this project

README

        

h1. Important

As much as you would probably like to ignore your rational mind, head over to my published results, and just take those values as truth. Do not. Or at least don't blame me for any of the architectural results.

I am currently working on these benchmarks to get first-hand data about the scaling properties of CouchDB. Specifically I care about disk usage (to figure out when sharding will be required) and replication speed. However, along the way I am also collecting potentially other useful information, but keep in mind that my test methodology will clearly focus on disk usage and replication characteristics.

If you want to get some more insights into evaluating CouchDB and other #nosql databases, I highly recommend those 2 articles by Jan Lehnardt ("@janl":http://twitter.com/janl):

* "Benchmarks: You are Doing it Wrong":http://jan.prima.de/~jan/plok/archives/175-Benchmarks-You-are-Doing-it-Wrong.html
* "Caveats of Evaluating Databases":http://jan.prima.de/~jan/plok/archives/176-Caveats-of-Evaluating-Databases.html

h1. Setup

I have chosen to run all tests on Amazon EC2 with c1.medium instances. The reason is simply that this will be my production environment, but it has also the benefit that others can easily verify / compare my results.

So far I have been using ami-0d729464 (Ubuntu 9.04 Jaunty, see "alestic.com":http://alestic.com/). But any other Ubuntu >= 8.04 version should do as well.

Once you have fired up the instance, you can install the latest CouchDB SVN:HEAD version by simply running:

./setup.sh

h1. Running the tests

Just pick any of the .php benchmark files available, then run:

time php insert-bench.php | tee my-results.log

This will show you the real-time output of the script as well as store all results in "my-results.log" so you can share them with the world.

h1. Published Results

Here are all articles / results published using the tools in this repository. So far its just 1 post on our blog:

* 2009-06-25 "CouchDB Insert Benchmarks (via debuggable.com)":http://debuggable.com/posts/couchdb-insert-benchmarks:4a4365e2-9d04-4170-9f88-2de34834cda3

h1. Help extending this suite!

If you need more data than what is currently reported, just fork this project on GitHub and I'll integrate your changes. I'm cool with any languages, I just use PHP as again this is what I use in production and what I know the best.

Feedback & questions can be sent to [email protected]. I'm "@felixge":http://twitter.com/felixge on twitter and the_undefined in #couchdb.

Thanks for checking this out,
-- Felix Geisendörfer