redis做压测可以用自带的redis-benchmark工具,使用简单,效果也比较不错。

linux下一般无需下载,windows下redis-benchmark压力测试工具下载地址:http://www.daixiaorui.com/source/18.html(解压后的redis-benchmark.exe)

压测命令:redis-benchmark -h 127.0.0.1 -p 6379 -c 50 -n 10000

-c表示连接数

-n表示请求数

更多参数请输入 --help 查看~

压测需要一段时间,因为它需要依次压测多个命令的结果,如:get、set、incr、lpush等等,所以我们需要耐心等待,如果只需要压测某个命令,如:get,那么可以在以上的命令后加一个参数-t(红色部分):

redis-benchmark -h 127.0.0.1 -p 6086 -c 50 -n 10000 -t get

压测结果:

[root@1234 ~]# redis-benchmark -h 127.0.0.1 -p 6086 -c 50 -n 10000 -t get

====== GET ======

10000 requests completed in 0.15 seconds

50 parallel clients

3 bytes payload

keep alive: 1

99.16% <= 1 milliseconds

100.00% <= 1 milliseconds

68027.21 requests per second

不带-t的压测结果如下:

[root@1234 ~]# redis-benchmark -h 127.0.0.1 -p 6086 -c 50 -n 10000

====== PING_INLINE ======

10000 requests completed in 0.15 seconds

50 parallel clients

3 bytes payload

keep alive: 1

99.35% <= 1 milliseconds

100.00% <= 1 milliseconds

67114.09 requests per second

====== PING_BULK ======

10000 requests completed in 0.15 seconds

50 parallel clients

3 bytes payload

keep alive: 1

99.38% <= 1 milliseconds

100.00% <= 1 milliseconds

66666.66 requests per second

====== SET ======  (处理set的性能)

10000 requests completed in 0.17 seconds

50 parallel clients

3 bytes payload

keep alive: 1

99.11% <= 1 milliseconds

99.51% <= 25 milliseconds

100.00% <= 25 milliseconds

57142.86 requests per second

====== GET ======  (处理get请求的性能)

10000 requests completed in 0.15 seconds

50 parallel clients

3 bytes payload

keep alive: 1

99.09% <= 1 milliseconds

99.51% <= 11 milliseconds

100.00% <= 12 milliseconds

66666.66 requests per second

====== INCR ======

10000 requests completed in 0.15 seconds

50 parallel clients

3 bytes payload

keep alive: 1

99.33% <= 1 milliseconds

100.00% <= 1 milliseconds

66666.66 requests per second

====== LPUSH ======

10000 requests completed in 0.16 seconds

50 parallel clients

3 bytes payload

keep alive: 1

99.20% <= 1 milliseconds

100.00% <= 1 milliseconds

64516.13 requests per second

====== LPOP ======

10000 requests completed in 0.16 seconds

50 parallel clients

3 bytes payload

keep alive: 1

98.56% <= 1 milliseconds

99.51% <= 14 milliseconds

100.00% <= 14 milliseconds

61349.69 requests per second

====== SADD ======

10000 requests completed in 0.15 seconds

50 parallel clients

3 bytes payload

keep alive: 1

99.36% <= 1 milliseconds

100.00% <= 1 milliseconds

67114.09 requests per second

====== SPOP ======

10000 requests completed in 0.14 seconds

50 parallel clients

3 bytes payload

keep alive: 1

99.32% <= 1 milliseconds

100.00% <= 1 milliseconds

69930.07 requests per second

====== LPUSH (needed to benchmark LRANGE) ======

10000 requests completed in 0.15 seconds

50 parallel clients

3 bytes payload

keep alive: 1

99.47% <= 1 milliseconds

100.00% <= 1 milliseconds

67567.57 requests per second

====== LRANGE_100 (first 100 elements) ======

10000 requests completed in 0.14 seconds

50 parallel clients

3 bytes payload

keep alive: 1

99.41% <= 1 milliseconds

100.00% <= 1 milliseconds

72992.70 requests per second

====== LRANGE_300 (first 300 elements) ======

10000 requests completed in 0.14 seconds

50 parallel clients

3 bytes payload

keep alive: 1

99.41% <= 1 milliseconds

100.00% <= 1 milliseconds

72463.77 requests per second

====== LRANGE_500 (first 450 elements) ======

10000 requests completed in 0.14 seconds

50 parallel clients

3 bytes payload

keep alive: 1

99.35% <= 1 milliseconds

100.00% <= 1 milliseconds

68965.52 requests per second

====== LRANGE_600 (first 600 elements) ======

10000 requests completed in 0.15 seconds

50 parallel clients

3 bytes payload

keep alive: 1

99.37% <= 1 milliseconds

100.00% <= 1 milliseconds

66225.17 requests per second

====== MSET (10 keys) ======

10000 requests completed in 0.17 seconds

50 parallel clients

3 bytes payload

keep alive: 1

94.94% <= 1 milliseconds

100.00% <= 1 milliseconds

58479.53 requests per second

这样看起来很冗余,如果我们只想看最终的结果,可以带上参数-q,完整的命令如下:

redis-benchmark -h 127.0.0.1 -p 6086 -c 50 -n 10000 -q

显示结果为:

[root@1234 ~]# redis-benchmark -h 127.0.0.1 -p 6086 -c 50 -n 10000 -q

PING_INLINE: 66225.17 requests per second

PING_BULK: 65789.48 requests per second

SET: 66666.66 requests per second

GET: 69444.45 requests per second

INCR: 62893.08 requests per second

LPUSH: 65789.48 requests per second

LPOP: 68027.21 requests per second

SADD: 64935.07 requests per second

SPOP: 67114.09 requests per second

LPUSH (needed to benchmark LRANGE): 62893.08 requests per second

LRANGE_100 (first 100 elements): 69444.45 requests per second

LRANGE_300 (first 300 elements): 68965.52 requests per second

LRANGE_500 (first 450 elements): 68965.52 requests per second

LRANGE_600 (first 600 elements): 68965.52 requests per second

MSET (10 keys): 59171.60 requests per second

温馨提示:

压测结果跟机器的性能有关,其中windows下压测的结果要比在linux下差一大截。

redis压力测试详解的更多相关文章

  1. web 压力测试工具ab压力测试详解

    Web性能压力测试工具之ApacheBench(ab)详解 原文:http://www.ha97.com/4617.html PS:网站性能压力测试是性能调优过程中必不可少的一环.只有让服务器处在高压 ...

  2. 使用ab进行压力测试详解

    ab是apache自带的压力测试工具,非常好用.转载几篇对ab工具的详细使用的博文.猛击下面的链接地址 http://www.365mini.com/page/apache-benchmark.htm ...

  3. CodeBenchmark之压力测试详解

    CodeBenchmark是一款高性能可视化的并发测试组件,通过组件可以对任意逻辑代码或服务进行并发测试:组件最终通过可视化的方式来显示测试结果,在测试结果中可以看到具体的并发情况和处理延时的分布.组 ...

  4. Redis 配置文件 redis.conf 项目详解

    Redis.conf 配置文件详解 # [Redis](http://yijiebuyi.com/category/redis.html) 配置文件 # 当配置中需要配置内存大小时,可以使用 1k, ...

  5. Redis主从复制机制详解

    Redis主从复制机制详解 Redis有两种不同的持久化方式,Redis服务器通过持久化,把Redis内存中持久化到硬盘当中,当Redis宕机时,我们重启Redis服务器时,可以由RDB文件或AOF文 ...

  6. [转]Reids配置文件redis.conf中文详解

    转自: Reids配置文件redis.conf中文详解 redis的各种配置都是在redis.conf文件中进行配置的. 有关其每项配置的中文详细解释如下: 对应的中文版解释redis.conf # ...

  7. nosql Redis命令操作详解

    Redis命令操作详解 一.key pattern 查询相应的key (1)redis允许模糊查询key 有3个通配符 *.?.[] (2)randomkey:返回随机key (3)type key: ...

  8. Redis常见配置文件详解

    Redis常见配置文件详解 # vi redis.conf 1 2 3 daemonize yes #是否以后台进程运行 4 5 pidfile /var/run/redis/redis-server ...

  9. Redis配置参数详解

    Redis配置参数详解 /********************************* GENERAL *********************************/ // 是否作为守护进 ...

随机推荐

  1. 如何在vs2010中添加Picture控件

    1.新建项目,并在对话框控件中拖入picture控件,并做如下设置 2.在picture控件的属性栏需要进行如下修改:ID需要修改,不能为static ID是控件的唯一标识,PictureCtrl(p ...

  2. C语言 结构体篇

    结构体:是一种构造类型 它是由若干成员组成的 其中每一个成员都可以是一个基本数据类型或者又是一个构造类型 定义结构体变量后,系统就会为其自动分配内存 为了便于更大的程序便于修改和使用  常常将结构体类 ...

  3. XFire Web Service客户端开发

    一.项目创建: 创建一个Maven的web工程 Maven包导入pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0&qu ...

  4. PLSQL怎样导出oracle表结构

    tools->export tables 是导出表结构还有数据 tools->export user objects是导出表结构   可以用tools->export tables ...

  5. Python,Pycharm,Anaconda等的关系与安装过程~为初学者跳过各种坑

    1.致欢迎词 我将详讲讲述在学Python初期的各种手忙脚乱的问题的解决,通过这些步骤的操作,让你的注意力集中在Python的语法上以及后面利用Python所解决的项目问题上.而我自己作为小白,很不幸 ...

  6. android studio 更新Gradle版本号方法

    在导入其它项目时,常常因为gradle版本号不一致而导致不能编译 解决方法: 第一步: 按提示点击让它下载.事实上目的并非要它下载.因为这样速度会非常慢.这样做仅仅是为了让它在本地创建相应的文件夹结构 ...

  7. Android studio 混淆打包问题

    参考 : Android Studio代码混淆设置以及上传mapping文件 AndroidStudio 混淆打包 在app 目录下  proguard-rules.pro中加入 通用 混淆 #指定代 ...

  8. 用户对变量或寄存器进行位操作 、“|=”和“&=~”操作

    给定一个整型变量a,写两段代码,第一个设置a的bit 3,第二个清除a的bit 3.在以上两个操作中,要保持其他位不变. 答案: ----------------------------------- ...

  9. 通用安防摄像机通过RTSP转RTMP推流进行H5(RTMP/HLS)直播的方案

    EasyNVR摄像机无插件直播方案 随着互联网的发展,尤其是移动互联网的普及,基于H5.微信的应用越来越多,企业也更多地想基于H5.微信公众号来快速开发和运营自己的视频及视频相关性产品,那么传统的安防 ...

  10. poj 2151Check the difficulty of problems<概率DP>

    链接:http://poj.org/problem?id=2151 题意:一场比赛有 T 支队伍,共 M 道题, 给出每支队伍能解出各题的概率~  求 :冠军至少做出 N 题且每队至少做出一题的概率~ ...