As a developer, if you’ve installed Couchbase Server 2.0 and seen its new features, you might want to hit the server with some load to do some basic testing of your Couchbase cluster. I’ve personally had a number of reasons to need to run a random workload against Couchbase to be able to demonstrate how it works and the different statistics shown in the Couchbase admin UI.

 

Using cbworkloadgen, a sample workload generator tool for Couchbase, you can try a different operations and monitor the activity of your cluster. cbworkloadgen provides basic testing functionality but is not designed for performance or stress testing. It has options for tuning the ratio of set:get operations, the number and size of the documents inserted and the number of concurrent worker threads.

 

If you want to quickly test your Couchbase Server installation using cbworkloadgen, you can execute the cbworkloadgen tool supplying the IP address of the running node with the -n option.

Dons-MacBook-Pro:tools don$ pwd

/Applications/Couchbase Server.app/Contents/Resources/couchbase-core/bin/tools

Dons-MacBook-Pro:tools don$ ./cbworkloadgen -n localhost:8091

[####################] 100.0% (10527/10526 msgs)

bucket: default, msgs transferred…

     :                total |       last |    per sec

batch :                   11 |         11 |       18.6

byte  :               105270 |     105270 |   177716.4

msg   :                10527 |      10527 |    17771.6

done

 

If you want to do a longer test, you can insert more items and control the item size, number of threads and the ratio of sets:gets. In the example below we insert 500K items with a minimum size of 10 and 20% set:get ratio.

Dons-MacBook-Pro:tools don$ ./cbworkloadgen -n localhost:8091 -i 500000 -r .2 -s 10

[####################] 100.0% (2499996/2500000 msgs)

bucket: default, msgs transferred…

     :                total |       last |    per sec

batch :                 2500 |       2500 |       20.3

byte  :             24999960 |   24999960 |   203332.9

msg   :              2499996 |    2499996 |    20333.3

done

Finally, don’t forget to look at how the different metrics change in the Couchbase admin UI as shown below:

A workload in progress shown using the admin UI

Summary stats

Stats for data partitions (vBuckets)
Disk queue stats
As you can see, cbworkloadgen is a quick way to generate a load against Couchbase Server without a lot of effort.

Good luck with your Couchbase Applications!

Author

Posted by The Couchbase Team

Jennifer Garcia is a Senior Web Manager at Couchbase Inc. As the website manager, Jennifer has overall responsibility for the website properties including design, implementation, content, and performance.

Leave a reply