Redis的性能测试方法及Redis-benchmark使用介绍

Redis的性能测试方法及Redis-benchmark使用介绍

概述

Redis-benchmark是Redis官方自带的Redis性能测试工具,可以有效的测试Redis服务的性能,本文主要介绍相关信息。

 

详细信息

Redis-benchmark使用说明

Redis-benchmark参数的使用说明如下所示。

Usage: redis-benchmark [-h] [-p] [-c] [-n[-k]
 -h     Server hostname (default 127.0.0.1)
 -p     Server port (default 6379)
 -s     Server socket (overrides host and port)
 -c     Number of parallel connections (default 50)
 -n     Total number of requests (default 10000)
 -d      Data size of SET/GET value in bytes (default 2)
 -k      1=keep alive 0=reconnect (default 1)
 -r      Use random keys for SET/GET/INCR, random values for SADD
  Using this option the benchmark will get/set keys
  in the form mykey_rand:000000012456 instead of constant
  keys, the argument determines the max
  number of values for the random number. For instance
  if set to 10 only rand:000000000000 - rand:000000000009
  range will be allowed.
 -P       Pipelinerequests. Default 1 (no pipeline).
 -q       Quiet. Just show query/sec values
 --csv     Output in CSV format
 -l       Loop. Run the tests forever
 -t       Only run the comma-separated list of tests. The test
  names are the same as the ones produced as output.
 -I       Idle mode. Just open N idle connections and wait.

 

命令示例

Redis-benchmark命令的使用示例如下所示。

  • 如下命令所示,使用100个并发连接、100000个请求检测端口为6379的Redis服务器性能。
    redis-benchmark -h 192.X.X.201 -p 6379 -c 100 -n 100000
  • 如下命令所示,测试获取大小为100字节的数据包的性能。
    redis-benchmark -h X.X.X.X -p 6379 -q -d 100
  • 如下命令所示,只测试部分操作的性能。
    redis-benchmark -t set,lpush -n 100000 -q
  • 如下命令所示,只测试部分数值存取的性能。
    redis-benchmark -n 100000 -q script load "redis.call('set','foo','bar')"

 

报错示例

  1. 执行如下命令,进行测试。
    redis-benchmark -h X.X.X.X -p 18000 -c 5000 -n 100000 -q
    系统显示类似如下。
  2. 执行netstat -an命令,查看Redis相关端口是否有很多。如果很多,重启Redis实例释放连接数,然后重新测试即可。

 

适用于

  • 云数据库 Redis