consul/bench
Armon Dadgar cb8cac40f3 bench: Fixing benchmark address on some systems 2014-05-27 11:01:05 -07:00
..
conf bench: Fixing benchmark address on some systems 2014-05-27 11:01:05 -07:00
Makefile bench: Fixing benchmark address on some systems 2014-05-27 11:01:05 -07:00
README.md bench: Adding a simple benchmarking setup 2014-05-07 17:42:57 -07:00
bench-aws.json bench: Fixing benchmark address on some systems 2014-05-27 11:01:05 -07:00
bench.json bench: minor updates 2014-05-20 16:25:28 -07:00
results.md bench: Read not representative, cache increasing read rate. 2014-05-07 17:52:11 -07:00

README.md

Consul Benchmark

This repo contains the Packer automation necessary for the Consul benchmarks.

There is a single main Packer file bench.json. To use it, the variables for do_client_id and do_api_key must be provided. There correspond to your DigitalOcean client id and API key.

When Packer runs, it will generate 3 images:

  • bench-bootstrap - Consul server in bootstrap mode
  • bench-server - Consul server
  • bench-worker - Worker node

For the benchmark you should start 1 bootstrap instance, and 2 normal servers. As many workers as desired can be started. Once the nodes are up, you must SSH into one of the Consul servers.

Connect all the nodes with:

$ consul join <n1> ... <n5>

This will connect all the nodes within the same datacenter.

To run the benchmarks, use the Makefile:

$ cd /
$ make # Runs all the benchmarks
$ make put # Runs only the PUT benchmarks

There is no good way to currently cause multiple workers to run at the same time, so I just type in the make command and rapidly start the test on all workers. It is not perfect, but the test runs long enough that the calls overlap.