Over a million developers have joined DZone.

The Couchbase Workload Generator

· Database Zone

To stay on top of the changing nature of the data connectivity world and to help enterprises navigate these changes, download this whitepaper from Progress Data Direct that explores the results of the 2016 Data Connectivity Outlook survey.

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!


Turn Data Into a Powerful Asset, Not an Obstacle with Democratize Your Data, a Progress Data Direct whitepaper that explains how to provide data access for your users anywhere, anytime and from any source.

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 }}