Redis get
vs. mget
Benchmark
0. Background
Scripts
#!/bin/bash
key="testkey"
value="testvalue"
int=0
while (($int <= 1024)); do
echo -e $key$int $value
redis-cli set $key$int $value
let "int++"
done
#!/bin/bash
int=0
keys=""
while (($int < 64)); do
keys="$keys",""testkey$int""
let "int++"
done
redis-benchmark -n 100000 script load "redis.call("mget"$keys)"
System Info
[p1gd0g@p1gd0g-pc ~]$ screenfetch
██████████████████ ████████ p1gd0g@p1gd0g-pc
██████████████████ ████████ OS: Manjaro 19.0.2 Kyria
██████████████████ ████████ Kernel: x86_64 Linux 5.4.31-1-MANJARO
██████████████████ ████████ Uptime: 1h 1m
████████ ████████ Packages: 1224
████████ ████████ ████████ Shell: bash
████████ ████████ ████████ Resolution: 1920x1080
████████ ████████ ████████ DE: GNOME 3.36.1
████████ ████████ ████████ WM: Mutter
████████ ████████ ████████ WM Theme: Matcha-sea
████████ ████████ ████████ GTK Theme: Matcha-sea [GTK2/3]
████████ ████████ ████████ Icon Theme: Papirus-Dark-Maia
████████ ████████ ████████ Font: Noto Sans 11
████████ ████████ ████████ Disk: 41G / 473G (10%)
CPU: AMD Ryzen 5 3550H with Radeon Vega Mobile Gfx @ 8x 2.1GHz
GPU: AMD RAVEN (DRM 3.35.0, 5.4.31-1-MANJARO, LLVM 9.0.1)
RAM: 2237MiB / 6956MiB
Redis version
Redis server v=5.0.8 sha=00000000:0 malloc=jemalloc-5.2.1 bits=64 build=b2bf869b5247fdeb
1. get
vs. mget
redis-benchmark -n 100000 script load "redis.call("get", "testkey0")"
====== script load redis.call("get", "testkey0") ======
100000 requests completed in 0.65 seconds
50 parallel clients
3 bytes payload
keep alive: 1
99.98% <= 1 milliseconds
100.00% <= 1 milliseconds
152905.20 requests per second
redis-benchmark -n 100000 script load "redis.call("mget", "testkey0")"
====== script load redis.call("mget", "testkey0") ======
100000 requests completed in 0.66 seconds
50 parallel clients
3 bytes payload
keep alive: 1
99.99% <= 1 milliseconds
100.00% <= 1 milliseconds
151975.69 requests per second
cmd |
RPS(9 bytes) |
RPS(18 bytes) |
RPS(36 bytes) |
RPS(72 bytes) |
RPS(144 bytes) |
RPS(288 bytes) |
RPS(576 bytes) |
RPS(1152 bytes) |
RPS(2304 bytes) |
get |
152905 |
152207 |
151285 |
156494.52 |
148148.14 |
148588.42 |
150602.42 |
149700.61 |
144508.67 |
mget (1) |
151975 |
152207 |
141242 |
149253.73 |
151975.69 |
152671.77 |
145985.41 |
145348.83 |
152439.02 |
mget (2) |
146842 |
148809 |
152207 |
150602.42 |
152905.20 |
147929.00 |
147492.62 |
152439.02 |
150829.56 |
mget (4) |
151745 |
152439 |
154798 |
150829.56 |
149700.61 |
152439.02 |
151975.69 |
149253.73 |
149031.30 |
mget (8) |
148148 |
148367 |
144717 |
150602.42 |
152905.20 |
142045.45 |
147058.83 |
151057.41 |
144092.22 |
mget (16) |
155763 |
147275 |
158478 |
151745.08 |
152905.20 |
151057.41 |
148148.14 |
152905.20 |
149700.61 |
mget (32) |
150375 |
151057 |
156739 |
159489.64 |
147058.83 |
154559.50 |
151745.08 |
149925.03 |
151057.41 |
mget (64) |
154559 |
143678 |
145985 |
147275.41 |
145560.41 |
152207.00 |
151745.08 |
151285.92 |
144927.53 |
mget (128) |
124688 |
130208 |
125156 |
131233.59 |
127226.46 |
123915.74 |
129032.27 |
123456.79 |
124223.60 |
mget (256) |
14714 |
14952 |
15130 |
14744.91 |
14677.82 |
15003.75 |
14974.54 |
15117.16 |
14988.01 |
mget (512) |
13455 |
13904 |
13925 |
13892.75 |
14046.92 |
13886.96 |
13804.53 |
13958.68 |
13976.24 |
mget (1024) |
11825 |
12051 |
12032 |
11748.12 |
11526.05 |
11923.21 |
12003.36 |
12195.12 |
12105.07 |
2. set
vs. mset
cmd |
RPS |
set |
152671 |
mset (1) |
151057 |
mset (2) |
149476 |
mset (4) |
147710 |
mset (8) |
145772 |
mset (16) |
145985 |
mset (32) |
145137 |
mset (64) |
122549 |
mset (128) |
15820 |
mset (256) |
14524 |
mset (512) |
12751 |
mset (1024) |
9726 |
3. What happended if keys=248?
keys |
RPS |
mget (128) |
124688 |
mget (192) |
110497 |
mget (224) |
99502 |
mget (240) |
95147 |
mget (244) |
94966 |
mget (246) |
94607 |
mget (247) |
93896 |
mget (248) |
14945 |
mget (256) |
14714 |
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341