Over a million developers have joined DZone.

The Couchbase Workload Generator

· Database Zone

Build fast, scale big with MongoDB Atlas, a hosted service for the leading NoSQL database. Try it now! Brought to you in partnership with MongoDB.

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!


Now it's easier than ever to get started with MongoDB, the database that allows startups and enterprises alike to rapidly build planet-scale apps. Introducing MongoDB Atlas, the official hosted service for the database on AWS. Try it now! Brought to you in partnership with MongoDB.

Topics:

Published at DZone with permission of Don Pinto, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

SEE AN EXAMPLE
Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.
Subscribe

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}