Load test Redis with Artillery.io
Based on the TCP Engine by limiter121.
Important: The plugin requires Artillery 1.5.8-3
or higher.
# If Artillery is installed globally:
npm install -g artillery-engine-rediscluster
- Set
config.redis.targets
to the list of servers with ports in the cluster - Set the
engine
property of the scenario torediscluster
. - Use
send
in your scenario to send arbitrary data to the server - Specify additional invocation parameters:
command
- String Redis Command to use (Get, Set, HSet, HGet, GetAsync, SetAsync, LPush, LPop)key
- String key to get or setvalue
- String used to set values, push, or publish
Note: Currently the engine does not handle failures gracefully and the test will shutdown with timeouts.
config:
redis:
targets: "10.100.1.100:6379,10.100.1.100:6380"
phases:
- arrivalCount: 10
duration: 1
engines:
rediscluster: {}
scenarios:
- name: "Test Set & Get"
engine: rediscluster
flow:
- count: 10
loop:
- send:
command: "set"
key: "Id_{{ id }}"
value: "Hello"
-think: 1
- send:
command: "get"
key: "Id_{{ id }}"
- think: 1
artillery run my_script.yml