NOTE

1.11 Redis压测

1. 压测Lua脚本 1. redis-cli加载Lua 2. redis-benchmark压测Lua 3. redis-benchmark压测pipeline 这个命令会把 evalsha d72ab028ab5ff319cf0979291745f98c099cecb2 1 test 10 5条

Redis / Cache创建于 更新于 historical

这是历史学习笔记,可能存在过时或不完整的理解。

1. 压测Lua脚本

  1. redis-cli加载Lua
redis-cli -h 127.0.0.1 -p 6379 -a "xxx" -x script load < test.lua
  1. redis-benchmark压测Lua
# 1表示key的数量
redis-benchmark -h 127.0.0.1 -p 6379 -a "xxx" -c 1000 -n 1000000 evalsha d72ab028ab5ff319cf0979291745f98c099cecb2 1 test 10
  1. redis-benchmark压测pipeline
redis-benchmark -h 127.0.0.1 -p 6379 -a "xxx" -c 1000 -n 1000000  -P 5 evalsha d72ab028ab5ff319cf0979291745f98c099cecb2 1 test 10

这个命令会把evalsha d72ab028ab5ff319cf0979291745f98c099cecb2 1 test 105条5条的批量发送,最终的QPS要除以5

2. 压测注意事项

  1. 首先在本地压测Redis,可以忽略网络瓶颈(带宽+延迟)
  2. redis-benchmark也是单线程的,如果CPU100%了,那么可以开启多个redis-benchmark来压测,然后累加QPS
  3. 有其他问题可以用tcpdump抓包用wireshark分析下

3. 参考