mercoledì 24 settembre 2008

CouchDB performance testing: first results

We are trying to test the performances of CouchDB by measuring the times it takes to execute a query (=a view) in different conditions.

We used a modified version of the default test suite - I'm not posting it now cause the code isn't very readable, but if you need it, just ask and I'll fix it up.

In this version we put some functions to create a named view and execute it with a single argument; then we ran the test suite from the Futon utility, we collected execution times from the test suite and put them into a google document.

Results show more shadows than lights: the database is fast when executing queries already indexed, but it's really slow into creating indexes.

We are working to expand this test with different sample-data size. So keep in touch!

4 commenti:

  1. Have you tried executing a query after a change? In other words, insert lots of documents, query once (which will be slow), insert just a few more documents, and then query again. As far as I understand, indexes are built incrementally, so the 2nd query shouldn't be as slow as the first, even though the index must technically get built.

  2. Yes, that's exactly what we did. Our concerns are related to the slowness of the first query. Thanks for posting!

  3. the creation of an index will always be slow, in any kind of technology. if you have a lot of inserts, trigger a view update every once in a while (say every 1000 docs if you insert 100000 docs). and the view will be ready when you are done inserting.

  4. ...and creating a view is fast because it is just a matter of writing a document into the database :-)