Simple, flexible Go benchmarking tool for Redis-protocol databases. Initial support compares Dragonfly vs Redis on 1 CPU with GET/SET workloads.
- Works with Redis and Dragonfly via the same client
- Configurable concurrency, requests/duration, pipeline, keyspace, value size
- Latency histogram (p50/p95/p99) and throughput
- Docker Compose for Redis and Dragonfly (limited to 1 CPU, 1GB mem)
Prereqs: Docker, Go 1.22+
- Start databases
make redis-up
make dragonfly-up
- Build
make build
- Compare (runs set/get for both)
make compare
Run single benchmark:
./bin/bench run --db redis --host 127.0.0.1 --port 6379 --workload set --concurrency 64 --requests 200000 --pipeline 1
./bin/bench run --db dragonfly --host 127.0.0.1 --port 6380 --workload get --concurrency 64 --duration 30s --pipeline 1
make redis-down
make dragonfly-down