Generated on: 2025-04-16 14:22:45
Results directory: /home/ubuntu/ratelimit_bench/results/last
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.
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 |
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 |
Client | Total Errors | Connection Errors | Timeouts |
---|---|---|---|
ioredis | 115556 | 114788 | 768 |
iovalkey | 66403 | 66197 | 206 |
valkey-glide | 0 | 0 | 0 |
Client | Total Errors | Connection Errors | Timeouts |
---|---|---|---|
ioredis | 106374 | 106122 | 252 |
iovalkey | 108508 | 108330 | 178 |
valkey-glide | 0 | 0 | 0 |
Client | Total Errors | Connection Errors | Timeouts |
---|---|---|---|
ioredis | 122133 | 116568 | 5565 |
iovalkey | 103688 | 103475 | 213 |
valkey-glide | 0 | 0 | 0 |
Client | Total Errors | Connection Errors | Timeouts |
---|---|---|---|
ioredis | 32437 | 32311 | 126 |
iovalkey | 27239 | 26978 | 261 |
valkey-glide | 0 | 0 | 0 |