The tool is built from homogeneous nodes, each node is responsible to execute load scenarios and provides management interface. Nodes join the cluster and built a consistent hashing ring. The ring is used to store load scenario and collect the test results. The scenario name is routing key. The cluster uses Erlang distribution and add-on libraries to implement clustering. The traffic is generated by each cluster node.
The tool is is composed of multiple Erlang application:
- typhoon - load simulator
- aura - high-performance persistent queue to exchange sampled data
- zephyrus - rest api and user interfaces