Thursday, January 24, 2008

Benchmarking CouchDB

After installation of CouchDB, I was wondering about it's performance, so I made some benchmarking, and it looks pretty good to me - 2,000 concurrent requests.

I only had to raise number of open files per process by using

echo "204854" > /proc/sys/fs/file-max

ulimit -n 200000

to get rid of this message
OS error code 24: Too many open files

I'll publish results as Google docs, so they are posted to this blog automatically and I'll provide just a link to results.

This are read tests :

http://ihatecubicle.blogspot.com/2008/02/benchmarking-couchdb-read.html

http://ihatecubicle.blogspot.com/2008/02/benchmarking-couchdb-read-2000.html

http://ihatecubicle.blogspot.com/2008/02/benchmarking-couchdb-read-6000.html

I'm working on creation of files with sample data to emulate document for insertion, so we can test write efficiency.

5 comments:

Anonymous said...

Concurrency Level: 20000
Time taken for tests: 0.840789 seconds
Complete requests: 2

what should this show us?
20k concurrency level with 2 completed requests and 0 failed?

Khaz Sapenov said...

You are right :)
I didn't check the text, going to run more extensive tests. keep you updated.

Anonymous said...

these tests are not terribly indicative of anything. You need to have a number of requests that is a multiple of concurrency. Usually somewhere around a multiple of ten.

$ ab -c 2000 -n 20000

Further, if you want real statistical meaning you need to do multiple runs with the same parameters and average them out.

Khaz Sapenov said...

thanks for suggestions,
I'll definitely use it during testing

Anonymous said...

All read tests with a concurrency level higher than 130 show a high number of Non-2xx responses.

What exactly is the couchdb server responding in these cases? And wouldn't that mean that the request has failed?

Cloud Computing Google Group