• Redis 中 redis-benchmark 详解及参数介绍


    redis-benchmark

    redis-benchmark 可以为Redis做基准性能测试, 它提供了很多选项帮助开发和运维人员测试Redis的相关性能, 下面分别介绍这些选项。

    -c

    -c(clients) 选项代表客户端的并发数量(默认是50) 。

    -n

    -n(num) 选项代表客户端请求总量(默认是100000) 。 例如 redis-benchmark -c100 -n20000 代表100各个客户端同时请求Redis, 一共执行20000次。 redis-benchmark 会对各类数据结构的命令进行测试, 并给出性能指标:

    1. 20000 requests completed in 0.27 seconds
    2. 100 parallel clients
    3. 3 bytes payload
    4. keep alive: 1
    5. 99.11% <= 1 milliseconds
    6. 100.00% <= 1 milliseconds
    7. 73529.41 requests per second

    例如上面一共执行了20000次get操作, 在0.27秒完成, 每个请求数据量是3个字节, 99.11%的命令执行时间小于1毫秒, Redis每秒可以处理73529.41次get请求。

    -q

    -q 选项仅仅显示 redis-benchmar krequests per second 信息, 例如:

    1. $redis-benchmark -c 100 -n 20000 -q
    2. PING_INLINE: 74349.45 requests per second
    3. PING_BULK: 68728.52 requests per second
    4. SET: 71174.38 requests per second…
    5. LRANGE_500 (first 450 elements): 11299.44 requests per second
    6. LRANGE_600 (first 600 elements): 9319.67 requests per second
    7. MSET (10 keys): 70671.38 requests per second  
    -r

    在一个空的Redis上执行了redis-benchmark会发现只有3个键:

    1. 127.0.0.1:6379> dbsize
    2. (integer) 3
    3. 127.0.0.1:6379> keys *
    4. 1) "counter:__rand_int__"
    5. 2) "mylist"
    6. 3) "key:__rand_int__"

    如果想向Redis插入更多的键, 可以执行使用-r(random) 选项, 可以向Redis插入更多随机的键。

    $redis-benchmark -c 100 -n 20000 -r 10000

    -r 选项会在key、 counter键上加一个12位的后缀, -r10000代表只对后四位做随机处理(-r不是随机数的个数) 。 例如上面操作后, key的数量和结 果结构如下:

    1. 127.0.0.1:6379> dbsize
    2. (integer) 18641
    3. 127.0.0.1:6379> scan 0
    4. 1) "14336"
    5. 2) 1) "key:000000004580"
    6.   2) "key:000000004519"
    7.   10) "key:000000002113"  
    -P

    -P选项代表每个请求pipeline的数据量(默认为1) 。

    -k

    -k选项代表客户端是否使用 keepalive, 1为使用, 0为不使用, 默认值为1。

    -t

    -t选项可以对指定命令进行基准测试。

    1. redis-benchmark -t get,set -q
    2. SET: 98619.32 requests per second
    3. GET: 97560.98 requests per second
    --csv

    --csv选项会将结果按照csv格式输出, 便于后续处理, 如导出到Excel等。

    1. redis-benchmark -t get,set --csv
    2. "SET","81300.81"
    3. "GET","79051.38"  

    参考资料:《Redis 开发与运维》

  • 相关阅读:
    如何使用vsCode打开intel D435i深度相机
    7种主流数据分析软件比较及经典教材推荐
    启动uniapp小程序报错:Error:app.json:在项目根目录中未找到app.json
    梳理市面上的2大NFT定价范式和4种解决方案
    SpringMVC_异常统一处理
    python opencv手动实现cv2.GaussianBlur
    poj 2182 Lost Cows
    怎么在idea中搭建一个maven项目?
    Nexus3搭建以及使用
    SystemV 信号量(一) —— SystemV信号量的相关操作函数
  • 原文地址:https://blog.csdn.net/weixin_42576071/article/details/136656796