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
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
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.
Just run the test target:
make test