Performance Testing
I'm trying to do some basic load testing. On the wiki this page and its children list a number of items: http://www.couchbase.com/wiki/display/couchbase/Test+Tools
However all pages there seem to have been copied there Jan 13, 2012 and not updated since. The YCSB fork sounds most promising but its not been updated for 2years on Git.
I was wondering what the current thinking is? How can I quickly and most effectively benchmark *my application* that uses couchbase?
Thanks
I think that main metrics are response time, concurrent connections count, cpu & memory usage on nodes. Response time you can get through JMeter, other metrics are available at couchbase admin console. Also try queries with different stale param.
We internally use mcsoda for performance testing. You can get the details here: https://github.com/couchbase/testrunner/tree/master/lib/perf_engines
Altoros recently ran an independent benchmark across a few NoSQL products. They have their own YCSB fork: https://github.com/Altoros/YCSB
Slides: http://www.slideshare.net/renatko/couchbase-performance-benchmarking
Cisco used mcsoda for their testing:
Blog:http://blog.couchbase.com/understanding-performance-benchmark-published-cisco-and-solarflare-using-couchbase-server
Benchmark paper: http://www.cisco.com/en/US/prod/collateral/switches/ps9441/ps9670/white_...
hope this helps. We typically measure ops / second against latency as the main metric. With Couchbase, many times the client may be the bottleneck, so make sure you have multiple clients driving workload and its running on a decent machine.
Thanks Dipti, I will look into these.
For my own followup I am now looking into using JMeter to create load (testing REST apis).
Does anyone know what are the best Couchbase metrics to look for and how to get them integrated into JMeter? The Couchbase console has a whole lot of graphs but I'm new at this so hard to understand what really makes sense and what metrics should I be really looking at?
Thanks