美文网首页
《redis学习》之自带高性能测试工具

《redis学习》之自带高性能测试工具

作者: 夏天嘚花花 | 来源:发表于2019-04-06 12:39 被阅读0次

Redis 自带了一个叫 redis-benchmark 的工具来模拟 N 个客户端同时发出 M 个请求。 (类似于 Apache ab 程序)。你可以使用 redis-benchmark -h 来查看基准参数。
程序位置
redis-benchmark在redis安装路径的bin目录下

[root@hadoop-master bin]# cd /usr/local/redis/bin/
[root@hadoop-master bin]# ls
mkreleasehdr.sh  redis-benchmark  redis-check-aof  redis-check-rdb  redis-cli  redis-sentinel  redis-server

参数说明

Usage: redis-benchmark [-h <host>] [-p <port>] [-c <clients>] [-n <requests]> [-k <boolean>]

 -h <hostname>      Server hostname (default 127.0.0.1)
 -p <port>          Server port (default 6379)
 -s <socket>        Server socket (overrides host and port)
 -a <password>      Password for Redis Auth
 -c <clients>       Number of parallel connections (default 50)[并行连接的数量默认是50个]
 -n <requests>      Total number of requests (default 100000)[请求个数]
 -d <size>          Data size of SET/GET value in bytes (default 2)
 -dbnum <db>        SELECT the specified db number (default 0)
 -k <boolean>       1=keep alive 0=reconnect (default 1)
 -r <keyspacelen>   Use random keys for SET/GET/INCR, random values for SADD[使用随机键设置/获取/增加]
  Using this option the benchmark will expand the string __rand_int__
  inside an argument with a 12 digits number in the specified range
  from 0 to keyspacelen-1. The substitution changes every time a command
  is executed. Default tests use this to hit random keys in the
  specified range.
 -P <numreq>        Pipeline <numreq> requests. Default 1 (no pipeline).
 -q                 Quiet. Just show query/sec values[只显示查询/秒值]
 --csv              Output in CSV format
 -l                 Loop. Run the tests forever
 -t <tests>         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.

(1) PING_INLINE 
(2) PING_BULK 
(3) SET:将字符串值value关联到key; 
(4) GET:返回key所关联的字符串值,如果key存储的值不是字符串类型,返回一个错误; 
(5) INCR:将key中存储的数字值增一。不能转换为数字则报错; 
(6) LPUSH:将一个或多个值value插入到列表key的表头; 
(7) RPUSH:将一个或多个值value插入到列表key的表尾; 
(8) LPOP:移除并返回列表key的头元素; 
(9) RPOP:移除并返回列表key的尾元素; 
(10) SADD:将一个或多个member元素加入到集合set当中,已经存在于集合的member元素将被忽略; 
(11) SPOP:移除并返回集合中的一个随机元素; 
(12) LPUSH:将一个或多个value插入到列表key的表头; 
(13) LRANGE_100:返回列表key中指定区间内的元素,前100条元素; 
(14) LRANGE_300:返回列表key中指定区间内的元素,前300条元素; 
(15) LRANGE_500:返回列表key中指定区间内的元素,前500条元素; 
(16) LRANGE_600:返回列表key中指定区间内的元素,前600条元素; 
(17) MSET:同时设置一个或多个key-value对,value为字符串。
例子1

随机生成100000个随机key,用-r执行

./redis-benchmark -r 100000 -n 100000 -q
例子2

100个并发连接,100000个请求,检测redis性能

./redis-benchmark  -c 100 -n 100000
结果展示
#展示set命令的性能
====== SET ======
  100000 requests completed in 2.78 seconds[10000个请求在2.78内完成]
  100 parallel clients
  3 bytes payload
  keep alive: 1
#下面是完成的频率,百分之19.38在小于1毫秒之内完成
19.38% <= 1 milliseconds
73.54% <= 2 milliseconds
86.18% <= 3 milliseconds
90.08% <= 4 milliseconds
94.31% <= 5 milliseconds
96.96% <= 6 milliseconds
98.14% <= 7 milliseconds
98.60% <= 8 milliseconds
99.10% <= 9 milliseconds
99.39% <= 10 milliseconds
99.67% <= 11 milliseconds
99.72% <= 12 milliseconds
99.78% <= 13 milliseconds
99.79% <= 14 milliseconds
99.81% <= 15 milliseconds
99.87% <= 16 milliseconds
99.88% <= 17 milliseconds
99.90% <= 18 milliseconds
99.90% <= 19 milliseconds
99.90% <= 21 milliseconds
99.91% <= 22 milliseconds
99.94% <= 23 milliseconds
99.97% <= 24 milliseconds
100.00% <= 25 milliseconds
100.00% <= 25 milliseconds
35984.17 requests per second [每秒一共处理35984.17 个请求]

====== GET ======
  100000 requests completed in 2.57 seconds
  100 parallel clients
  3 bytes payload
  keep alive: 1

21.78% <= 1 milliseconds
74.44% <= 2 milliseconds
89.89% <= 3 milliseconds
95.74% <= 4 milliseconds
98.17% <= 5 milliseconds
99.00% <= 6 milliseconds
99.42% <= 7 milliseconds
99.64% <= 8 milliseconds
99.88% <= 9 milliseconds
99.96% <= 10 milliseconds
100.00% <= 11 milliseconds
38955.98 requests per second
例子3

测试某一些命令的性能,用-t指定要测试的命令

./redis-benchmark -t set,lpush -n 100000 -c 100

相关文章

  • 《redis学习》之自带高性能测试工具

    Redis 自带了一个叫 redis-benchmark 的工具来模拟 N 个客户端同时发出 M 个请求。 (类似...

  • redis 性能测试

    1、使用redis-benchmark工具 redis-benchmark 工具是 redis 自带性能测试工具,...

  • Redis_测试性能

    redis-benchmark是一个压力测试工具,官方自带的性能测试工具!redis性能测试工具可选参数如下所示:...

  • redis一般测试

    一、redis自带工具: redis-cli测试工具 redis-check-dump 本地数据库检测工具 r...

  • redis基础知识

    一、redis-benchmark redis自带的压力测试工具! 如果按照默认路径安装,该工具安装在路径/...

  • Redis 性能测试

    本文使用 redis 自带的 redis-benchmark 工具进行压力测试 参数说明 命令格式如下: 参数说明...

  • Redis的性能测试与基本知识

    性能测试 启动redis服务器(基于自己的配置文件启动) 使用redis自带的性能测试工具测试并发性 基础知识 R...

  • Redis学习之环境准备

    Redis学习之环境准备 Redis介绍 Redis是一个开源的,高性能的,基于内存的,基于键值对的缓存与存储系统...

  • 压力测试工具 Mysqlslap

    一、MySQL自带的压力测试工具 Mysqlslap mysqlslap是mysql自带的基准测试工具,该工具查询...

  • iOS自动化单元测试之fastlane中xcodebuild与x

    上一篇文章iOS自动化单元测试之Xcode自带工具xcodebuild与xccov,已将讲了用xcode自带工具进...

网友评论

      本文标题:《redis学习》之自带高性能测试工具

      本文链接:https://www.haomeiwen.com/subject/aljpbqtx.html