couchbase / perfrunner

Performance TAF for Couchbase Server

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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).

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

Alternatively, you can make use of the supplied docker-compose file to run perfrunner in a Ubuntu Docker container, if you wish to avoid installing dependencies on your host machine. See DOCKER-COMPOSE.md.

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

About

Performance TAF for Couchbase Server

License:Apache License 2.0


Languages

Language:Python 93.5%Language:HCL 1.6%Language:Groovy 1.5%Language:Go 1.2%Language:Inno Setup 0.7%Language:JavaScript 0.4%Language:C 0.3%Language:Java 0.2%Language:C# 0.2%Language:Shell 0.2%Language:Dockerfile 0.1%Language:Roff 0.1%Language:Makefile 0.1%Language:Ruby 0.0%