Benchmarks

Last updated: 8th March, 2025

We benchmarked DiceDB using our membench benchmark utility with various configurations and various machine types, here are the details

Results Observed

On a Hetzner CCX13 machine with 2 vCPU and 8GB RAM here are our numbers around throughput and GET/SET latencies.

num-clientsThroughput (ops/sec)GET p50 (ms)GET p90 (ms)SET p50 (ms)SET p90 (ms)
131590.2887670.3543030.2949110.364543
254150.3256310.4730870.3276790.473087
496280.3092470.5181430.3153910.528383
8130300.3440630.7577590.3502070.765951

On a Hetzner CCX23 machine with 4 vCPU and 16GB RAM here are our numbers around throughput and GET/SET latencies.

num-clientsThroughput (ops/sec)GET p50 (ms)GET p90 (ms)SET p50 (ms)SET p90 (ms)
136940.2580470.3092470.2641910.315391
273100.2519030.3235830.2549750.325631
4156550.2273270.3379190.2303990.339967
8264590.2488310.4751350.2508790.483327

Comparing with other in-mem databases

On a Hetzner CCX23 machine with 4 vCPU and 16GB RAM here are our numbers around throughput and GET/SET latencies when compared with other in-memory databases for num_clients = 4.

MetricDiceDBRedis
Throughput (ops/sec)1565512267
GET p50 (ms)0.2273270.270335
GET p90 (ms)0.3379190.329727
SET p50 (ms)0.2303990.272383
SET p90 (ms)0.3399670.331775

Execution Configuration

We ran DiceDB with default configuration on one VM and membench on another.

$ ./dicedb
██████╗ ██╗ ██████╗███████╗██████╗ ██████╗
██╔══██╗██║██╔════╝██╔════╝██╔══██╗██╔══██╗
██║ ██║██║██║ █████╗ ██║ ██║██████╔╝
██║ ██║██║██║ ██╔══╝ ██║ ██║██╔══██╗
██████╔╝██║╚██████╗███████╗██████╔╝██████╔╝
╚═════╝ ╚═╝ ╚═════╝╚══════╝╚═════╝ ╚═════╝
2025-03-09T16:46:03+05:30 INF starting DiceDB version=0.1.0
2025-03-09T16:46:03+05:30 INF running with total_commands=21
2025-03-09T16:46:03+05:30 INF running with engine=ironhawk
2025-03-09T16:46:03+05:30 INF running with port=7379
2025-03-09T16:46:03+05:30 INF running on cores=4
2025-03-09T16:46:03+05:30 INF running with shards=4

membench was run with the following configuration. The following command creates a load of num-clients concurrent clients creating one connection each on dicedb (running on host and port). Each client fires num-requests operations on the database.

$ ./membench benchmark \
--database dicedb \
--host xx.xx.xx.xx \
--port 7379 \
--num-requests 100000 \
--num-clients 4

We iterated num_clients and underlying DiceDB VM and the numbers are as shown above.



  • © DiceDB, 2025