Skip to content

couchbase/perfrunner

Repository files navigation

perfrunner

codebeat badge

Installation

Using Docker

For local testing and development, you can use docker. See details in docker directory.

Installing on bare metal

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

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

Preparing workers and servers

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

ansible-playbook ${playbook} -i ${ini_file}

For instance:

ansible-playbook  playbooks/servers.yml -i clusters/vesta.ini

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