redis压力测试详解
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压力测试详解的更多相关文章
- web 压力测试工具ab压力测试详解
Web性能压力测试工具之ApacheBench(ab)详解 原文:http://www.ha97.com/4617.html PS:网站性能压力测试是性能调优过程中必不可少的一环.只有让服务器处在高压 ...
- 使用ab进行压力测试详解
ab是apache自带的压力测试工具,非常好用.转载几篇对ab工具的详细使用的博文.猛击下面的链接地址 http://www.365mini.com/page/apache-benchmark.htm ...
- CodeBenchmark之压力测试详解
CodeBenchmark是一款高性能可视化的并发测试组件,通过组件可以对任意逻辑代码或服务进行并发测试:组件最终通过可视化的方式来显示测试结果,在测试结果中可以看到具体的并发情况和处理延时的分布.组 ...
- Redis 配置文件 redis.conf 项目详解
Redis.conf 配置文件详解 # [Redis](http://yijiebuyi.com/category/redis.html) 配置文件 # 当配置中需要配置内存大小时,可以使用 1k, ...
- Redis主从复制机制详解
Redis主从复制机制详解 Redis有两种不同的持久化方式,Redis服务器通过持久化,把Redis内存中持久化到硬盘当中,当Redis宕机时,我们重启Redis服务器时,可以由RDB文件或AOF文 ...
- [转]Reids配置文件redis.conf中文详解
转自: Reids配置文件redis.conf中文详解 redis的各种配置都是在redis.conf文件中进行配置的. 有关其每项配置的中文详细解释如下: 对应的中文版解释redis.conf # ...
- nosql Redis命令操作详解
Redis命令操作详解 一.key pattern 查询相应的key (1)redis允许模糊查询key 有3个通配符 *.?.[] (2)randomkey:返回随机key (3)type key: ...
- Redis常见配置文件详解
Redis常见配置文件详解 # vi redis.conf 1 2 3 daemonize yes #是否以后台进程运行 4 5 pidfile /var/run/redis/redis-server ...
- Redis配置参数详解
Redis配置参数详解 /********************************* GENERAL *********************************/ // 是否作为守护进 ...
随机推荐
- 导出txt格式的说明书
/// <summary> /// 说明书 /// </summary> /// <returns></returns> public FileResu ...
- 【转载】教你使用 Reflexil 反编译.NET
简介 反编译的方式有很多种,其实最靠谱的还是IL反编译. 如果不懂IL可以尝试我这边文章入门:http://www.wxzzz.com/278.html 不过我下面要说的不是IL这种底层的代码反编译, ...
- 在windows下安装apidocjs
1. 下载Node.js官方Windows版程序: https://nodejs.org/download/ 从0.6.1开始,Node.js在Windows平台上提供了两种安装方式,一是.M ...
- Source-php-request-2
php比較坑的地方就是实现相同的目的,能够使用超级多种手段.比方(file_get_contents和fopen以及如今提到的curl以及fsockopen当然还有socket)这对于一个经验少的程序 ...
- java变参
java变参是通过数组来实现的 Object[] addAll(Object[] array1, Object... array2)和Object[] addAll(Object[] array1, ...
- 【Java】事件驱动模型和观察者模式
你有一件事情,做这件事情的过程包含了许多职责单一的子过程.这样的情况及其常见.当这些子过程有如下特点时,我们应该考虑设计一种合适的框架,让框架来完成一些业务无关的事情,从而使得各个子过程的开发可以专注 ...
- Codeforces 467D Fedor and Essay bfs
题目链接: 题意: 给定n个单词. 以下有m个替换方式.左边的单词能变成右边的单词. 替换随意次后使得最后字母r个数最少,在r最少的情况下单词总长度最短 输出字母r的个数和单词长度. 思路: 我们觉得 ...
- 检查Nginx的配置,重载配置和重启的方法
Nginx 安装后只有一个程序文件,本身并不提供各种管理程序,它是使用参数和系统信号机制对 Nginx 进程本身进行控制的. Nginx 的参数包括有如下几个: 可以这样使用 /usr/local/n ...
- Linux下比较常用的svn命令
svn: command not found yum install -y subversion 以下是一些常用命令的使用方法,希望对大家有所帮助. 1,check out(co)签出代码 test. ...
- maven snapshot和release版本的区别(转)
在使用maven过程中,我们在开发阶段经常性的会有很多公共库处于不稳定状态,随时需要修改并发布,可能一天就要发布一次,遇到bug时,甚至一天要发布N次.我们知道,maven的依赖管理是基于版本管理的, ...