Skip to content
Simple script to generate load with different read and write ratios on local Couchbase Server
Ruby
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
flush.rb
load.rb
readme.md

readme.md

Using the Ruby based load test is easy!

Pre-Requisite: Install Couchbase Server 2.5 Enterprise on your machine, then..

On Mac: Make sure you have XCode, Command Line Tools installed/up to date, and Make sure you have Homebrew installed and up to date ($ brew update;brew upgrade;brew doctor).

On Windows: Follow instructions on the couchbase communities site for the c library that matches your configuration.

Load Testing

$ ruby load.rb
  • You can open multiple terminals and do this since each ruby run is single threaded process
  • There are only so many operations a single thread/process can generate, so multiple simultaneous runs are needed to generate higher loads, I do one per core max

Clear out the default bucket between runs

$ ruby flush.rb
  • There are a 5 phases of load testing with different mixes of Read/Write.
  • The load.rb file is commented so you can see what is happening at each phase and the configurable parameters.

Output

Phase 1 --- Read   0%, Write 100% --- Create 100,000 items...
Phase 2 --- Read  33%, Write  66% --- Create 100,000 items, Get & Replace 100,000 items...
Phase 3 --- Read  33%, Write  66% --- Create 100,000 items, Get 100,000 items, Get & Replace 100,000 items...
Phase 4 --- Read  60%, Write  40% --- Get 300,000 items, Get & Replace 200,000 items...
Phase 5 --- Read 100%, Write   0% --- Get 500,000 items...
Something went wrong with that request. Please try again.