Artillery.io Redis Plugin
Load test Redis with Artillery.io
Based on the TCP Engine by limiter121.
Usage
Important: The plugin requires Artillery 1.5.8-3
or higher.
Install the plugin
# If Artillery is installed globally:
npm install -g artillery-engine-rediscluster
Use the plugin
- 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.
Example Script
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
Run Your Script
artillery run my_script.yml