Kafka benchmarks are typically run using a single producer and consumer against a single topic, and the producer and consumer are run at close to maximum write/read speeds. In the real world, a Kafka cluster is more often serving many lower throughput producers and consumers. Ansible allows for a benchmarking method that sets up any number of topics and many producers and consumers.
Ansible playbooks allow us to run a number of tasks against a distributed set of clients both synchronously and asynchronously.
Before we can run tests we need topics to test against. This play sets up a number of topics with various partition configurations:
- name : Setup