Redis自己提供了一个性能测试工具redis-benchmark。redis-benchmark可以模拟N个机器,同时发送M个请求。

用法:redis-benchmark [-h ] [-p ] [-c ] [-n [-k ]

-h <hostname>      Server hostname (default 127.0.0.1)
-p <port> Server port (default 6379)
-s <socket> Server socket (overrides host and port)
-c <clients> Number of parallel connections (default 50) 并发客户端数
-n <requests> Total number of requests (default 10000) 请求数量
-d <size> Data size of SET/GET value in bytes (default 2) set 数据大小
-k <boolean> 1=keep alive 0=reconnect (default 1) 是否采用keep alive模式
-r <keyspacelen> 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 <keyspacelen> 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 <numreq> Pipeline <numreq> requests. Default 1 (no pipeline). 是否采用Pipeline模式请求,默认不采用
-q Quiet. Just show query/sec values 仅仅显示查询时间
--csv Output in CSV format 导出为CSV格式
-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.

常用的办法

redis-benchmark -q -n 1000
PING_INLINE: 20408.16 requests per second
PING_BULK: 25000.00 requests per second
SET: 18181.82 requests per second
GET: 21739.13 requests per second
INCR: 27027.03 requests per second
LPUSH: 27027.03 requests per second
LPOP: 27027.03 requests per second
SADD: 27027.03 requests per second
SPOP: 22222.22 requests per second
LPUSH (needed to benchmark LRANGE): 27777.78 requests per second
LRANGE_100 (first 100 elements): 10989.01 requests per second
LRANGE_300 (first 300 elements): 5434.78 requests per second
LRANGE_500 (first 450 elements): 4444.44 requests per second
LRANGE_600 (first 600 elements): 3164.56 requests per second
MSET (10 keys): 18518.52 requests per second

可以看出在我的笔记本上,redis每秒可以处理上万条请求。

如果要显示详细资料的方式

redis-benchmark -n 1000

redis-benchmark -n 1000
====== PING_INLINE ======
1000 requests completed in 0.04 seconds
50 parallel clients
3 bytes payload
keep alive: 1
 
7.30% <= 1 milliseconds
85.80% <= 2 milliseconds
95.10% <= 4 milliseconds
96.90% <= 5 milliseconds
100.00% <= 5 milliseconds
23255.81 requests per second
 
====== PING_BULK ======
1000 requests completed in 0.05 seconds
50 parallel clients
3 bytes payload
keep alive: 1
 
11.30% <= 1 milliseconds
77.00% <= 2 milliseconds
92.10% <= 3 milliseconds
95.10% <= 5 milliseconds
100.00% <= 5 milliseconds
22222.22 requests per second
 
====== SET ======
1000 requests completed in 0.04 seconds
50 parallel clients
3 bytes payload
keep alive: 1
 
11.20% <= 1 milliseconds
88.40% <= 2 milliseconds
93.30% <= 3 milliseconds
94.00% <= 4 milliseconds
94.60% <= 5 milliseconds
98.20% <= 6 milliseconds
98.60% <= 8 milliseconds
100.00% <= 8 milliseconds
22727.27 requests per second
 
====== GET ======
1000 requests completed in 0.04 seconds
50 parallel clients
3 bytes payload
keep alive: 1
 
6.30% <= 1 milliseconds
86.00% <= 2 milliseconds
100.00% <= 2 milliseconds
25641.03 requests per second
 
====== INCR ======
1000 requests completed in 0.05 seconds
50 parallel clients
3 bytes payload
keep alive: 1
 
7.30% <= 1 milliseconds
77.30% <= 2 milliseconds
83.40% <= 3 milliseconds
95.10% <= 6 milliseconds
98.20% <= 7 milliseconds
100.00% <= 7 milliseconds
20408.16 requests per second
 
====== LPUSH ======
1000 requests completed in 0.04 seconds
50 parallel clients
3 bytes payload
keep alive: 1
 
10.00% <= 1 milliseconds
75.00% <= 2 milliseconds
97.20% <= 3 milliseconds
100.00% <= 3 milliseconds
23809.52 requests per second
 
====== LPOP ======
1000 requests completed in 0.05 seconds
50 parallel clients
3 bytes payload
keep alive: 1
 
7.00% <= 1 milliseconds
79.30% <= 2 milliseconds
88.50% <= 3 milliseconds
90.60% <= 4 milliseconds
97.40% <= 5 milliseconds
100.00% <= 5 milliseconds
21276.60 requests per second
 
====== SADD ======
1000 requests completed in 0.04 seconds
50 parallel clients
3 bytes payload
keep alive: 1
 
11.10% <= 1 milliseconds
83.40% <= 2 milliseconds
91.70% <= 3 milliseconds
97.80% <= 4 milliseconds
99.60% <= 5 milliseconds
100.00% <= 5 milliseconds
23809.52 requests per second
 
====== SPOP ======
1000 requests completed in 0.04 seconds
50 parallel clients
3 bytes payload
keep alive: 1
 
7.90% <= 1 milliseconds
77.90% <= 2 milliseconds
90.60% <= 3 milliseconds
95.10% <= 5 milliseconds
100.00% <= 5 milliseconds
23255.81 requests per second
 
====== LPUSH (needed to benchmark LRANGE) ======
1000 requests completed in 0.04 seconds
50 parallel clients
3 bytes payload
keep alive: 1
 
10.10% <= 1 milliseconds
95.40% <= 4 milliseconds
97.60% <= 6 milliseconds
100.00% <= 6 milliseconds
22727.27 requests per second
 
====== LRANGE_100 (first 100 elements) ======
1000 requests completed in 0.09 seconds
50 parallel clients
3 bytes payload
keep alive: 1
 
1.20% <= 1 milliseconds
10.00% <= 2 milliseconds
50.90% <= 3 milliseconds
87.90% <= 4 milliseconds
99.60% <= 5 milliseconds
100.00% <= 5 milliseconds
10869.57 requests per second
 
====== LRANGE_300 (first 300 elements) ======
1000 requests completed in 0.18 seconds
50 parallel clients
3 bytes payload
keep alive: 1
 
0.90% <= 1 milliseconds
6.70% <= 2 milliseconds
13.70% <= 3 milliseconds
26.40% <= 4 milliseconds
41.00% <= 5 milliseconds
60.20% <= 6 milliseconds
76.40% <= 7 milliseconds
88.20% <= 8 milliseconds
95.80% <= 9 milliseconds
98.50% <= 10 milliseconds
99.60% <= 11 milliseconds
100.00% <= 11 milliseconds
5494.51 requests per second
 
====== LRANGE_500 (first 450 elements) ======
1000 requests completed in 0.24 seconds
50 parallel clients
3 bytes payload
keep alive: 1
 
0.10% <= 1 milliseconds
1.90% <= 2 milliseconds
5.60% <= 3 milliseconds
13.10% <= 4 milliseconds
26.80% <= 5 milliseconds
40.00% <= 6 milliseconds
53.90% <= 7 milliseconds
63.60% <= 8 milliseconds
74.70% <= 9 milliseconds
82.90% <= 10 milliseconds
90.00% <= 11 milliseconds
95.90% <= 12 milliseconds
99.30% <= 13 milliseconds
99.80% <= 14 milliseconds
100.00% <= 14 milliseconds
4132.23 requests per second
 
====== LRANGE_600 (first 600 elements) ======
1000 requests completed in 0.28 seconds
50 parallel clients
3 bytes payload
keep alive: 1
 
0.10% <= 1 milliseconds
0.40% <= 2 milliseconds
2.30% <= 3 milliseconds
9.10% <= 4 milliseconds
20.90% <= 5 milliseconds
32.50% <= 6 milliseconds
42.70% <= 7 milliseconds
56.10% <= 8 milliseconds
69.20% <= 9 milliseconds
83.10% <= 10 milliseconds
90.40% <= 11 milliseconds
95.90% <= 12 milliseconds
97.00% <= 13 milliseconds
97.70% <= 14 milliseconds
97.90% <= 15 milliseconds
98.20% <= 16 milliseconds
98.60% <= 17 milliseconds
98.90% <= 18 milliseconds
99.30% <= 19 milliseconds
99.60% <= 20 milliseconds
100.00% <= 21 milliseconds
3558.72 requests per second
 
====== MSET (10 keys) ======
1000 requests completed in 0.06 seconds
50 parallel clients
3 bytes payload
keep alive: 1
 
5.60% <= 1 milliseconds
47.20% <= 2 milliseconds
89.40% <= 3 milliseconds
95.80% <= 8 milliseconds
95.90% <= 10 milliseconds
99.50% <= 11 milliseconds
100.00% <= 11 milliseconds
16666.67 requests per second

很多时候,我们在局域网会调用redis,比如我有10台机器,可能同时产生大量的数据,然后这些数据同时存储在1台redis上。那么我们可以分别在10台机器上测试
redis-benchmark -h 192.168.1.124 -p 6379 -n 100000

Redis性能测试工具benchmark简介的更多相关文章

  1. redis性能测试工具的使用

    在redis安装完成后会生成一个bin的目录,在这个目录中有一个 redis-benchmark 的文件脚本工具,通过执行这个工具进行redis的性能测试. bash #执行这个脚本后脚本会自动运行r ...

  2. .NET平台性能测试工具BenchmarkDotnet 简介[译文]

    项目中需要用到性能测试,发现.net 平台的这个神器. 觉得很不错,接下来准备做个系列.具体参考官方介绍 做基线对比测试不是那么容易,你很容易就翻车掉坑里,BenchmarkDotNet 会帮你避坑( ...

  3. 性能测试工具LoadRunner02-LR简介

    使用LoadRunner的步骤 制定性能测试计划-->开发测试脚本-->设计测试场景-->执行测试场景-->监控测试场景-->分析测试结果 LoadRunner由哪些部件 ...

  4. 数据库之redis篇(2)—— redis配置文件,常用命令,性能测试工具

    redis配置 如果你是找网上的其他教程来完成以上操作的话,相信你见过有的启动命令是这样的: 启动命令带了这个参数:redis.windows.conf,由于我测试环境是windows平台,所以是这个 ...

  5. Redis性能测试

    Redis 性能测试 Redis 性能测试是通过同时执行多个命令实现的.Redis性能测试主要是通过src文件夹下的redis-benchmark来实现(Linux系统下) 语法 redis 性能测试 ...

  6. Redis 性能测试

    Redis 性能测试是通过同时执行多个命令实现的. 语法 redis 性能测试的基本命令如下: redis-benchmark [option] [option value] 实例 以下实例同时执行 ...

  7. Redis性能测试Redis-benchmark

    Redis-benchmark是官方自带的Redis性能测试工具 测试Redis在你的系统及你的配置下的读写性能 redis-benchmark可以模拟N个机器,同时发送M个请求 redis-benc ...

  8. 10.Redis 性能测试

    转自:http://www.runoob.com/redis/redis-tutorial.html Redis 性能测试是通过同时执行多个命令实现的. 语法 redis 性能测试的基本命令如下: r ...

  9. c++性能测试工具:google benchmark入门(一)

    如果你正在寻找一款c++性能测试工具,那么这篇文章是不容错过的. 市面上的benchmark工具或多或少存在一些使用上的不便,那么是否存在一个使用简便又功能强大的性能测试工具呢?答案是google/b ...

随机推荐

  1. 215. Kth Largest Element in an Array

    Find the kth largest element in an unsorted array. Note that it is the kth largest element in the so ...

  2. jQuery弹出层始终垂直居中相对于屏幕或当前窗口

    把弹出层的位置设为fixed,设置top:50%,然后获取当前元素的整体的高度height,用获取的高度height/2,设置margin-top:-height/2.即可把当前的弹出层始终垂直居中于 ...

  3. js confirm用法

    <script> $('.tzshanchu').click(function(){ if(confirm('是否确认删除')){ alert('删除了') } });</scrip ...

  4. rsync+inotify实现服务器数据同步

    一.什么是rsync rsync,remote synchronize是一款实现远程同步功能的软件,它在同步文件的同时,可以保持原来文件的权限.时间.软硬链接等附加信息.rsync是用 “rsync算 ...

  5. AtCoder Regular Contest 061

    AtCoder Regular Contest 061 C.Many Formulas 题意 给长度不超过\(10\)且由\(0\)到\(9\)数字组成的串S. 可以在两数字间放\(+\)号. 求所有 ...

  6. <老友记>学习笔记

    这是六个人的故事,从不服输而又有强烈控制欲的monica,未经世事的千金大小姐rachel,正直又专情的ross,幽默风趣的chandle,古怪迷人的phoebe,花心天真的joey——六个好友之间的 ...

  7. ThinkPHP缓存微信公众号access_token

    access_token作为微信的全局票据,在高级接口中需要频繁调用,其有效期为7200秒,即2小时,而微信官方对调用Token的次数有限制(参见接口频率限制说明),获取access_token每日限 ...

  8. C++ Unicode SBCS 函数对照表

    C++ Unicode SBCS 函数对照表,以备日后查阅 Generic SBCS UNICODE TCHAR char wchar_t _TEOF EOF WEOF _TINT int wint_ ...

  9. javascript闭包实例

    实例一 //每次执行一次c()i加1.关键在于var c=a():c容器将i装载记住了. function a(){ var i=0; function b(){ alert(++i); } retu ...

  10. JSBinding + SharpKit / 使用 Firefox 调试 JS

    已经准备好,google打不开,等打开了再贴图上来