Skip to content

Latest commit

 

History

History
58 lines (44 loc) · 4.65 KB

benchmark-zh.md

File metadata and controls

58 lines (44 loc) · 4.65 KB

benchmark

English

Platform

Mac mini (2018)

  • OS: macOS 11.5.1 (20G80)
  • CPU: 3.2GHz 6-core Intel Core i7

客户端和服务端在同一台机器

Test Cmd

redis-benchmark -t set,get,rpush,lpop,lrange,hset -n 1000000 -r 100000 -c 1000 --threads 4 --csv

Result

看起来差距不大,但是有几个需要注意的点:

  1. 测试 rudis 的时候,rudis 的 cpu 利用率 峰值大约 330%, redis-benchmark 几乎 400%. 也就是压测工具跑满了, rudis 还没跑满, 其实没压到 rudis 的瓶颈。
  2. 测试 redis 的时候,redis 的 cpu 利用率 峰值大约 400%, redis-benchmark 大约 300% . 也就是压测工具没跑满了, redis 跑满了。
  3. 不过即使是这样,rudis 的性能表现还是比 redis 要好。
  4. 如果有条件,把 redis-benchmark 放在另一台机器上,rudis 应该可以跑出更好的数据。
  5. 如果有条件,用更多的线程,rudis 的性能大概率会更好。但是 redis 受限于 io, 性能基本上就这样了。

rudis

test rps avg_latency_ms min_latency_ms p50_latency_ms p95_latency_ms p99_latency_ms max_latency_ms
SET 221582.09 3.239 0.472 3.151 5.007 5.895 8.455
GET 221533.02 3.229 0.352 3.175 4.735 5.855 6.839
RPUSH 221483.95 3.302 0.672 3.231 4.887 5.935 7.871
LPOP 209819.56 3.414 0.648 3.319 5.143 5.919 27.935
HSET 209951.70 3.420 1.032 3.375 4.807 5.911 8.503
LPUSH (needed to benchmark LRANGE) 209775.53 3.413 0.936 3.335 4.783 5.919 27.231
LRANGE_100 (first 100 elements) 83948.96 6.092 2.680 5.703 7.567 8.279 161.279
LRANGE_300 (first 300 elements) 38735.67 13.006 2.336 12.487 16.927 18.495 198.911
LRANGE_500 (first 500 elements) 25843.13 19.248 2.464 19.167 25.071 27.135 101.183
LRANGE_600 (first 600 elements) 21827.87 22.752 2.288 22.703 29.935 31.967 100.991

redis 6.2.5

test rps avg_latency_ms min_latency_ms p50_latency_ms p95_latency_ms p99_latency_ms max_latency_ms
SET 159744.41 5.363 1.880 5.455 7.367 8.879 26.751
GET 166417.05 5.012 1.808 5.239 6.511 7.247 29.199
RPUSH 166334.00 5.171 1.856 5.399 6.703 7.559 25.647
LPOP 159693.39 5.256 1.952 5.455 6.927 7.631 28.495
HSET 147907.11 5.612 2.120 5.823 7.279 8.031 35.967
LPUSH (needed to benchmark LRANGE) 153562.66 5.490 1.968 5.567 7.231 8.343 130.111
LRANGE_100 (first 100 elements) 61282.02 13.901 2.632 13.911 17.103 18.527 139.007
LRANGE_300 (first 300 elements) 29683.28 24.178 1.448 23.791 35.807 42.047 144.255
LRANGE_500 (first 500 elements) 19749.96 35.496 1.424 35.167 53.695 62.303 129.215
LRANGE_600 (first 600 elements) 16997.84 40.824 1.384 40.607 62.079 71.103 128.895