Redis
Redis 包含一个名为 redis-benchmark 的性能测试工具,它可以模拟 N 个客户端同时向 Redis 发送 M 条查询命令的应用场景(类似于 Apache 的 ab 工具)。

语法格式

Redis 性能测试的基本命令如下

  • 注意:该命令是在 redis 的目录下执行的,而不是 redis 客户端的内部指令。
  • 注意:redis-benchmark 的测试结果和硬件关联比较大,尤其是 CPU 主频的频率。
    1. # 工具使用格式
    2. $ redis-benchmark [option] [option value]

    参数解释

    Redis 性能测试工具可选参数如下所示
序号 选项 描述 默认值
1 -h 指定压测服务器的主机地址 127.0.0.1
2 -p 指定压测服务器的端口 6379
3 -s 指定服务器socket
4 -c 指定并发连接数 50
5 -n 指定请求数 10000
6 -d 以字节的形式指定SET/GET值的数据大小 2
7 -k 1=keepalive 0=reconnect 1
8 -r SET/GET/INCR使用随机key , SADD使用随机值
9 -p 通过管道传输<numreq>请求 1
10 -q 强制退出redis ;仅显示query/sec
11 -csv csv格式输出
12 -l 生成循环,永久执行测试
13 -t 仅运行以逗号分隔的测试命令列表。
14 -l Idle模式;仅打开N个idle连接并等待。

实例演示

以下实例来测试 Redis 性能

同时执行 10000 个请求来检测性能

  1. #同时执行 10000 个请求来检测性能
  2. $ redis-benchmark -n 10000 -q
  3. PING_INLINE: 141043.72 requests per second
  4. PING_BULK: 142857.14 requests per second
  5. SET: 141442.72 requests per second
  6. GET: 145348.83 requests per second
  7. INCR: 137362.64 requests per second
  8. LPUSH: 145348.83 requests per second
  9. LPOP: 146198.83 requests per second
  10. SADD: 146198.83 requests per second
  11. SPOP: 149253.73 requests per second
  12. LPUSH (needed to benchmark LRANGE): 148588.42 requests per second
  13. LRANGE_100 (first 100 elements): 58411.21 requests per second
  14. LRANGE_300 (first 300 elements): 21195.42 requests per second
  15. LRANGE_500 (first 450 elements): 14539.11 requests per second
  16. LRANGE_600 (first 600 elements): 10504.20 requests per second
  17. MSET (10 keys): 93283.58 requests per second

使用了多个参数来测试 Redis 性能

  1. #使用了多个参数来测试 Redis 性能
  2. # 主机为127.0.0.1;端口号为6379;执行的命令为set/lpush
  3. # 请求数为10000,通过 -q 参数让结果只显示每秒执行的请求数
  4. $ redis-benchmark -h 127.0.0.1 -p 6379 -t set,lpush -n 10000 -q
  5. SET: 146198.83 requests per second
  6. LPUSH: 145560.41 requests per second