Databases 16 min read

Redis vs Dragonfly: Benchmark Comparison and Architectural Insights

This article examines the open‑source memory cache Dragonfly, compares its performance and architecture against Redis through detailed benchmark results, discusses Redis’s response and design principles, and provides reproducible test configurations and command lines for both systems.

Java Architect Essentials
Java Architect Essentials
Java Architect Essentials
Redis vs Dragonfly: Benchmark Comparison and Architectural Insights

In mid‑2023 a former Google and Amazon engineer released Dragonfly, an open‑source in‑memory data cache written in C/C++ and distributed under the Business Source License. Early benchmarks suggested it could be the world’s fastest memory store, supporting both Memcached and Redis protocols while using less memory than Redis.

Redis’s co‑founder and CTO, together with senior architects, published a rebuttal article titled “After 13 years, does Redis need a new architecture?” presenting their own Redis 7.0 vs Dragonfly benchmark results, which showed Redis achieving 18‑40% higher throughput under comparable conditions.

The analysis highlights that Dragonfly’s original tests compared a single‑process Redis instance (single‑core) with a multi‑threaded Dragonfly instance (full core utilization), a comparison that does not reflect real‑world Redis deployments. To address fairness, the authors reran tests using a 40‑shard Redis 7.0 cluster on an AWS c4gn.16xlarge instance and compared it with Dragonfly’s reported configuration.

Key findings include:

Redis outperformed Dragonfly by 18‑40% in throughput for single‑GET, 30‑GET, single‑SET, and 30‑SET workloads.

Redis achieved lower latency (sub‑millisecond) and higher overall operations per second across all test scenarios.

Both systems were not limited by network bandwidth; CPU and memory utilization were the primary constraints.

Redis’s architectural principles—running multiple independent processes, limiting per‑process memory size, and emphasizing horizontal scaling—are reiterated as core strengths for performance, elasticity, and fault tolerance. The article also notes that Redis is exploring new ideas inspired by Dragonfly, such as io_uring, modern dictionaries, and more strategic thread usage.

In the appendix, the authors detail their test environment (AWS c6gn.16xlarge, ARM Neoverse‑N1, 126 GB RAM) and provide the exact memtier_benchmark command lines used to reproduce the results. The commands are presented below:

Redis: memtier_benchmark –ratio 0:1 -t 24 -c 1 –test-time 180 –distinct-client-seed -d 256 –cluster-mode -s 10.3.1.88 –port 30001 –key-maximum 1000000 –hide-histogram

Dragonfly: memtier_benchmark –ratio 0:1 -t 55 -c 30 -n 200000 –distinct-client-seed -d 256 -s 10.3.1.6 –key-maximum 1000000 –hide-histogram

Additional variations for pipelined GET and SET workloads are also listed, demonstrating how both systems behave under increased concurrency.

Overall, the article acknowledges the innovative ideas introduced by Dragonfly while reaffirming Redis’s commitment to its proven multi‑process, horizontally scalable architecture as the optimal solution for real‑time in‑memory data platforms.

performancearchitectureRedisbenchmarkdatabasesmemory cachedragonfly
Java Architect Essentials
Written by

Java Architect Essentials

Committed to sharing quality articles and tutorials to help Java programmers progress from junior to mid-level to senior architect. We curate high-quality learning resources, interview questions, videos, and projects from across the internet to help you systematically improve your Java architecture skills. Follow and reply '1024' to get Java programming resources. Learn together, grow together.

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.