Rate Limiter Benchmark Results

Generated on: 2025-04-16 14:22:45

Results directory: /home/ubuntu/ratelimit_bench/results/last

Key Findings

This report summarizes the median performance characteristics of different rate limiter implementations (e.g., Valkey Glide, IOValkey, IORedis) across multiple runs for each configuration. Comparisons are made under various conditions (standalone/cluster, light/heavy workload, different concurrency levels).

Focus on comparing throughput (requests/sec), latency (average, P99), and resource usage (CPU, Memory). Charts visualize trends against increasing concurrency.

Note: Lower latency is better. Higher throughput is better. Results below represent the median run for each configuration based on throughput. Zero values may indicate failed runs or specific test conditions. Charts showing "All data points are zero" reflect this.

Detailed Results Summary (Median Runs)

Mode: Cluster

Client Mode RequestType Concurrency Duration ReqPerSec Latency_Avg Latency_P50 Latency_P99 RateLimitHits CPUUsage MemoryUsage
valkey-glide cluster heavy 50 150 6,064,837 2.04 2.00 3.00 3,173,724 53.30 13,982,212
iovalkey cluster heavy 50 150 5,240,067 2.12 2.00 3.00 2,742,213 45.59 13,815,346
ioredis cluster heavy 50 150 4,484,765 2.84 3.00 4.00 2,346,830 38.16 13,668,052
valkey-glide cluster heavy 100 150 4,919,439 5.31 5.00 11.00 2,574,200 46.17 15,156,615
iovalkey cluster heavy 100 150 4,461,253 5.84 5.00 11.00 2,334,627 41.12 15,218,309
ioredis cluster heavy 100 150 3,772,364 7.12 6.00 12.00 1,974,062 34.17 14,437,858
valkey-glide cluster heavy 1000 210 3,332,332 84.91 71.00 519.00 2,441,648 35.79 25,918,067
iovalkey cluster heavy 1000 210 3,168,085 90.02 82.00 241.00 2,321,125 34.00 27,940,975
ioredis cluster heavy 1000 210 1,246,590 143.87 97.00 1,640.00 913,144 18.71 28,781,412
valkey-glide cluster light 50 120 6,213,256 1.94 2.00 3.00 2,602,010 54.68 14,381,590
iovalkey cluster light 50 120 5,143,210 2.12 2.00 3.00 2,153,875 45.32 14,238,739
ioredis cluster light 50 120 4,419,174 2.95 3.00 4.00 1,850,681 40.85 14,019,755
valkey-glide cluster light 100 120 5,278,318 4.88 4.00 10.00 2,210,346 47.38 15,460,629
iovalkey cluster light 100 120 4,374,331 5.97 5.00 11.00 1,831,919 39.39 15,170,920
ioredis cluster light 100 120 2,667,095 7.71 6.00 14.00 0 30.23 14,821,680
valkey-glide cluster light 1000 180 3,773,605 75.22 70.00 150.00 2,370,428 40.44 28,247,942
iovalkey cluster light 1000 180 1,474,368 110.05 86.00 1,123.00 925,678 20.65 28,477,028
ioredis cluster light 1000 180 804,388 76.21 45.00 872.00 504,817 15.23 30,998,175

Mode: Standalone

Client Mode RequestType Concurrency Duration ReqPerSec Latency_Avg Latency_P50 Latency_P99 RateLimitHits CPUUsage MemoryUsage
valkey-glide standalone heavy 50 150 6,164,561 2.01 2.00 3.00 3,225,896 53.89 14,074,331
iovalkey standalone heavy 50 150 5,558,435 2.05 2.00 3.00 2,908,731 49.84 13,995,182
ioredis standalone heavy 50 150 4,680,253 2.33 2.00 4.00 2,449,174 41.43 13,383,588
valkey-glide standalone heavy 100 150 4,924,549 5.21 4.00 11.00 2,576,997 43.88 15,146,669
iovalkey standalone heavy 100 150 4,688,182 5.66 5.00 10.00 2,453,284 40.98 15,041,003
ioredis standalone heavy 100 150 3,769,507 7.10 6.00 12.00 1,972,625 34.56 15,096,597
valkey-glide standalone heavy 500 210 3,656,168 38.60 33.00 113.00 2,678,727 35.99 20,850,945
iovalkey standalone heavy 500 210 1,613,720 62.11 46.00 784.00 1,182,155 19.15 22,249,585
ioredis standalone heavy 500 210 1,608,894 66.28 48.00 794.00 1,178,439 19.85 22,199,270
valkey-glide standalone light 50 120 6,132,224 2.03 2.00 3.00 2,568,093 55.35 14,435,477
iovalkey standalone light 50 120 5,397,708 2.07 2.00 3.00 2,260,529 49.28 14,168,030
ioredis standalone light 50 120 4,913,527 2.16 2.00 4.00 2,057,658 42.81 14,074,594
valkey-glide standalone light 100 120 5,128,115 4.96 4.00 10.00 2,147,600 47.73 15,134,236
iovalkey standalone light 100 120 4,484,761 5.91 5.00 11.00 1,878,015 40.94 15,217,479
ioredis standalone light 100 120 4,157,952 6.31 5.00 11.00 1,741,266 38.73 14,935,703
valkey-glide standalone light 500 180 4,074,507 34.67 32.00 66.00 2,559,351 38.81 21,199,542
iovalkey standalone light 500 180 4,032,107 35.05 34.00 47.00 2,532,009 38.85 21,155,410
ioredis standalone light 500 180 2,643,499 53.70 46.00 297.00 1,660,222 24.98 20,310,700

Performance Charts

Charts for (Heavy Workload, Cluster Mode)

Error Summary (Across All Runs)

ClientTotal ErrorsConnection ErrorsTimeouts
ioredis115556114788768
iovalkey6640366197206
valkey-glide000

Performance Metrics (Higher is Better)

Throughput vs Concurrency

Throughput Chart (Heavy Workload, Cluster Mode)

Rate Limit Hits vs Concurrency

Rate Limit Hits Chart (Heavy Workload, Cluster Mode)

Latency Metrics (Lower is Better)

Average Latency vs Concurrency

Average Latency Chart (Heavy Workload, Cluster Mode)

P99 Latency vs Concurrency

P99 Latency Chart (Heavy Workload, Cluster Mode)

Resource Metrics

CPU Usage vs Concurrency

CPU Usage Chart (Heavy Workload, Cluster Mode)

Memory Usage vs Concurrency

Memory Usage Chart (Heavy Workload, Cluster Mode)

Charts for (Heavy Workload, Standalone Mode)

Error Summary (Across All Runs)

ClientTotal ErrorsConnection ErrorsTimeouts
ioredis106374106122252
iovalkey108508108330178
valkey-glide000

Performance Metrics (Higher is Better)

Throughput vs Concurrency

Throughput Chart (Heavy Workload, Standalone Mode)

Rate Limit Hits vs Concurrency

Rate Limit Hits Chart (Heavy Workload, Standalone Mode)

Latency Metrics (Lower is Better)

Average Latency vs Concurrency

Average Latency Chart (Heavy Workload, Standalone Mode)

P99 Latency vs Concurrency

P99 Latency Chart (Heavy Workload, Standalone Mode)

Resource Metrics

CPU Usage vs Concurrency

CPU Usage Chart (Heavy Workload, Standalone Mode)

Memory Usage vs Concurrency

Memory Usage Chart (Heavy Workload, Standalone Mode)

Charts for (Light Workload, Cluster Mode)

Error Summary (Across All Runs)

ClientTotal ErrorsConnection ErrorsTimeouts
ioredis1221331165685565
iovalkey103688103475213
valkey-glide000

Performance Metrics (Higher is Better)

Throughput vs Concurrency

Throughput Chart (Light Workload, Cluster Mode)

Rate Limit Hits vs Concurrency

Rate Limit Hits Chart (Light Workload, Cluster Mode)

Latency Metrics (Lower is Better)

Average Latency vs Concurrency

Average Latency Chart (Light Workload, Cluster Mode)

P99 Latency vs Concurrency

P99 Latency Chart (Light Workload, Cluster Mode)

Resource Metrics

CPU Usage vs Concurrency

CPU Usage Chart (Light Workload, Cluster Mode)

Memory Usage vs Concurrency

Memory Usage Chart (Light Workload, Cluster Mode)

Charts for (Light Workload, Standalone Mode)

Error Summary (Across All Runs)

ClientTotal ErrorsConnection ErrorsTimeouts
ioredis3243732311126
iovalkey2723926978261
valkey-glide000

Performance Metrics (Higher is Better)

Throughput vs Concurrency

Throughput Chart (Light Workload, Standalone Mode)

Rate Limit Hits vs Concurrency

Rate Limit Hits Chart (Light Workload, Standalone Mode)

Latency Metrics (Lower is Better)

Average Latency vs Concurrency

Average Latency Chart (Light Workload, Standalone Mode)

P99 Latency vs Concurrency

P99 Latency Chart (Light Workload, Standalone Mode)

Resource Metrics

CPU Usage vs Concurrency

CPU Usage Chart (Light Workload, Standalone Mode)

Memory Usage vs Concurrency

Memory Usage Chart (Light Workload, Standalone Mode)