/perfrunner

Performance TAF for Couchbase Server

Primary LanguagePythonApache License 2.0Apache-2.0

perfrunner

codebeat badge

Installation

Before using perfrunner you should install the requirements listed in the requirements section. At a minimum you need

  • Python 3.5
  • virtualenv
  • libcouchbase
  • libcurl4-gnutls-dev
  • libffi
  • libsnappy
  • libssl

Note, you should be able to install both client and server system dependencies using the Ansible playbooks (namely, clients.yml and servers.yml).

First clone the perfrunner repo with the command below:

git clone https://github.com/couchbase/perfrunner.git

As some components are written in Go, make sure that perfrunner is placed inside $GOPATH/src. See also How to Write Go Code.

Once inside the perfrunner directory create a virtual environment for all of the perfrunner dependencies and install all of the dependencies so that you can run perfrunner:

make

Cluster installation and setup

env/bin/install -c ${cluster} -v ${version}
env/bin/cluster -c ${cluster} -t ${test_config}

For instance:

env/bin/install -c clusters/vesta.spec -v 4.5.0-2601

env/bin/cluster -c clusters/vesta.spec -t tests/comp_bucket_20M.test

Running performance tests

env/bin/perfrunner -c ${cluster} -t ${test_config}

For instance:

env/bin/perfrunner -c clusters/vesta.spec -t tests/comp_bucket_20M.test

Overriding the test settings (space-separated section.option.value trios):

env/bin/perfrunner -c clusters/vesta.spec -t tests/comp_bucket_20M.test \
    "load.size.512" "cluster.initial_nodes.3 4"

--verbose flag enables Fabric logging.

With --remote flag remote workers will be used as workload generators.

Unit tests

Just run the test target:

make test

Related projects