Docs Benchmarks

Benchmarks

SoliKV (with AOF persistence) vs Redis 7.0.15 — measured with redis-benchmark on the same machine

All SoliKV numbers below are with AOF persistence enabled (appendfsync everysec). The lock-free channel-based AOF writer adds less than 3% overhead — effectively zero within noise margin.

Standard Commands (200K ops, 50 clients)

CommandSoliKV+AOFRedis 7.0Delta
PING124K req/s122K req/s+2%
SET125K req/s121K req/s+3%
GET122K req/s122K req/stied
INCR124K req/s122K req/s+2%
LPUSH124K req/s124K req/stied
RPUSH123K req/s122K req/s+1%
LPOP123K req/s122K req/s+1%
RPOP123K req/s124K req/s-1%
SADD123K req/s122K req/s+1%
HSET125K req/s123K req/s+2%
MSET (10 keys)125K req/s121K req/s+3%

SoliKV matches or exceeds Redis on all standard commands, even with AOF persistence enabled. All results within noise margin (~1-3%).

Pipeline (P=16, 500K ops, 50 clients)

CommandSoliKV+AOFRedis 7.0Delta
SET1.81M req/s1.66M req/s+9%
GET1.85M req/s1.92M req/s-4%

Pipeline write throughput: SoliKV beats Redis by 9% on pipelined SET even with AOF enabled. Pipeline read performance is within noise margin.

REST API (oha, 100 connections, 10s)

OperationSoliKV+AOFNotes
GET /kv/:key597K req/sRead path (no AOF)
PUT /kv/:key539K req/sWrite path with AOF
PUT /kv/:key (200 conns)581K req/sHigher concurrency

REST API powered by Axum with Tokio. HTTP overhead is minimal thanks to keep-alive connections and efficient routing.

Sustained Load (1M SET, 50 clients)

MetricSoliKV+AOFRedis 7.0
Throughput124K req/s steady123K req/s steady
p50 latency0.199ms0.199ms
p99 latency0.471ms0.487ms

No throughput degradation over 1M operations. Identical p50 latency, lower p99 latency than Redis throughout.

Architecture & Optimizations

Thread-per-core sharding (mpsc channels)
Lock-free AOF via tokio::mpsc channel (256K buffer)
mimalloc global allocator
Pipeline batch locking (single lock per batch)
Write coalescing (single syscall per batch)
parking_lot Mutex (faster than std)
Hand-written RESP codec (zero-copy parsing)
CRC16 XMODEM hash slots (16384 slots)

Test Environment

Tool
redis-benchmark / oha
Baseline
Redis 7.0.15
Build
cargo build --release (Rust)
All benchmarks run on the same machine, same conditions. SoliKV numbers include AOF persistence (appendfsync everysec). Numbers represent stable throughput after warmup.