性能测试

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

Usage: redis-benchmark [-h ] [-p ] [-c ] [-n [-k ]

-h #指定服务器名称(default 127.0.0.1);

-p #指定服务器端口(default 6379);

-s #指定服务器Socket(overrides host and port);

-a #指定Redis密码;

-c #指定并行客户端数量 (default 50);

-n #指定总的请求数量(default 100000);

-d #指定SET/GET一次数据大小 (default 2 Bytes);

-dbnum #选择指定的数据库(default 0);

-k #保持一个连接,一台服务器来处理这些请求 (default 1);

-r #设置随机Key;

-P #Pipelinerequests. Default 1 (no pipeline).

-q #显示每秒钟能处理多少请求数结果;

--csv #输出为CSV格式;

-l #Loop. Run the tests forever.

-I #Idle mode. Just open N idle connections and wait.

这里用redis自带的benchmark工具测试,由于twemproxy不支持ping命令,所以对于twemproxy只测试set, get, incr, lpush, lpop, sadd, spop, lpush, lrange_100, lrange_300, lrange_500, lrange_600,mset命令。

Redis单实例简单测试

1)客户端分别为1/1000/5000,总请求数为100000,Key大小为1k,针对set/get命令测试QPS和完成时间(服务器:CPU 64核,内存 64G)

# redis-benchmark -h 0.0.0.0 -p 6500 -c 1 -t set,get -d 1000

====== SET ======

100000 requests completed in 2.65 seconds #完成时间

1 parallel clients

1000 bytes payload

keep alive: 1

100.00% < = 0 milliseconds

37764.35 requests per second #每秒请求数

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

100000 requests completed in 1.70 seconds

1 parallel clients

1000 bytes payload

keep alive: 1

100.00% <= 0 milliseconds

58962.27 requests per second

# redis-benchmark -h 0.0.0.0 -p 6500 -c 1000 -t set,get -d 1000

====== SET ======

100000 requests completed in 0.75 seconds

1000 parallel clients

1000 bytes payload

keep alive: 1

0.00% < = 4 milliseconds

....................

100.00% <= 14 milliseconds

132450.33 requests per second

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

100000 requests completed in 0.78 seconds

1000 parallel clients

1000 bytes payload

keep alive: 1

0.00% <= 3 milliseconds

..................

100.00% <= 8 milliseconds

128205.13 requests per second

# redis-benchmark -h 0.0.0.0 -p 6500 -c 5000 -t set,get -d 1000

====== SET ======

100000 requests completed in 1.18 seconds

5000 parallel clients

1000 bytes payload

keep alive: 1

0.00% < = 28 milliseconds

..........................

100.00% <= 105 milliseconds

84817.64 requests per second

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

100000 requests completed in 1.24 seconds

5000 parallel clients

1000 bytes payload

keep alive: 1

0.00% <= 35 milliseconds

.......................

100.00% <= 55 milliseconds

80580.17 requests per second

下面提供一个CPU 8核,内存8G的压测结果。

root@shd-ops-mng1:~ # redis-benchmark -h 0.0.0.0 -p 6380 -c 1 -t set,get -d 1000

====== SET ======

100000 requests completed in 6.50 seconds

1 parallel clients

1000 bytes payload

keep alive: 1

98.95% < = 1 milliseconds

...................

100.00% <= 6 milliseconds

15379.88 requests per second

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

100000 requests completed in 6.68 seconds

1 parallel clients

1000 bytes payload

keep alive: 1

98.91% <= 1 milliseconds

..................

100.00% <= 4 milliseconds

14965.58 requests per second

# redis-benchmark -h 0.0.0.0 -p 6380 -c 1000 -t set,get -d 1000

====== SET ======

100000 requests completed in 0.96 seconds

1000 parallel clients

1000 bytes payload

keep alive: 1

0.00% < = 4 milliseconds

....................

103734.44 requests per second

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

100000 requests completed in 1.00 seconds

1000 parallel clients

1000 bytes payload

keep alive: 1

0.00% <= 3 milliseconds

...................

100.00% <= 15 milliseconds

100300.91 requests per second

默认情况下面,基准测试使用单一的key。在一个基于内存的数据库里, 单一key测试和真实情况下面不会有巨大变化。当然,使用一个大的key范围空间, 可以模拟现实情况下面的缓存不命中情况。

这时候我们可以使用-r命令。比如,假设我们想设置10万随机key连续SET 100万次,连接客户端分别为1/5/1000,我们可以使用下列的命令:

# redis-benchmark -h 0.0.0.0 -p 6500 -c 1 -r 100000 -q 1000000 -t set -d 1000 -q

1000000 -t set -d 1000 -q: 63051.70 requests per second

# redis-benchmark -h 0.0.0.0 -p 6500 -c 1000 -r 100000 -q 1000000 -t set -d 1000 -q

1000000 -t set -d 1000 -q: 94966.77 requests per second

# redis-benchmark -h 0.0.0.0 -p 6500 -c 5000 -r 100000 -q 1000000 -t set -d 1000 -q

1000000 -t set -d 1000 -q: 83542.19 requests per second

测试twemproxy

# redis-benchmark -h 0.0.0.0 -p 36379 -c 1 -t set,get -d 1000

====== SET ======

10000 requests completed in 1.08 seconds

1 parallel clients

1000 bytes payload

keep alive: 1

100.00% < = 0 milliseconds

9267.84 requests per second

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

10000 requests completed in 1.08 seconds

1 parallel clients

1000 bytes payload

keep alive: 1

100.00% <= 0 milliseconds

9293.68 requests per second

# redis-benchmark -h 0.0.0.0 -p 36379 -c 1000 -t set,get -d 1000

====== SET ======

10000 requests completed in 0.18 seconds

1000 parallel clients

1000 bytes payload

keep alive: 1

0.01% < = 3 milliseconds

................

100.00% <= 20 milliseconds

55555.55 requests per second

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

10000 requests completed in 0.21 seconds

1000 parallel clients

1000 bytes payload

keep alive: 1

0.01% <= 5 milliseconds

..............

100.00% <= 23 milliseconds

47393.37 requests per second

# redis-benchmark -h 0.0.0.0 -p 36379 -c 5000 -t set,get -d 1000

====== SET ======

10000 requests completed in 0.28 seconds

5000 parallel clients

1000 bytes payload

keep alive: 1

0.01% < = 28 milliseconds

.......................

100.00% <= 87 milliseconds

35587.19 requests per second

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

10000 requests completed in 0.29 seconds

5000 parallel clients

1000 bytes payload

keep alive: 1

0.01% <= 33 milliseconds

....................

100.00% <= 85 milliseconds

34364.26 requests per second

linux简单redis测试工具,Twemproxy和Redis性能压力测试相关推荐

  1. linux mysql 测试工具_LINUX系统下MySQL 压力测试工具super smack

    LINUX系统下MySQL 压力测试工具super smack 发布时间:2008-09-08 17:03:39   作者:佚名   我要评论 1. 源文件下载地址:http://vegan.net/ ...

  2. linux 显卡 压力测试软件,显卡压力测试工具 GpuTest下载_显卡压力测试工具 GpuTest官方下载-太平洋下载中心...

    Gputest是一个用户界面友好的应用软件,允许用户对显卡GPU进行OpenGL基准压力测试. 测试项目包括了一些我们熟知的方案,如: FurMark压力测试(OpenGL 2.1 or 3.2). ...

  3. 【测试工具】二、ab压力测试及结果分析

    官方下载地址:https://www.apachehaus.com/cgi-bin/download.plx 压力测试 D:\Users\zhiqiangzhou\Desktop\ab>ab - ...

  4. 【总结】个人推荐的接口测试工具和接口性能/压力测试工具

    一般接口有2种测试,现在很多是模糊了这个,但是如果细分.一般还要写<接口测试用例>和<接口性能测试用例>.同样,也分接口测试报告和接口性能测试报告. 接口的本质及其工作原理 接 ...

  5. 阿里云Redis性能压力测试(二十)

    文章目录 1.云Redis性能压力测试 2.安装redis-banchmark压测工具 3.压测两节点的Redis集群 4.压测四节点的Redis集群 4.1.扩容集群为四节点 4.2.压力测试 5. ...

  6. Web服务器性能压力测试工具http_load、webbench、ab、Siege使用教程

    Web服务器性能压力测试工具http_load.webbench.ab.Siege使用教程 作者: feng 日期: 2012/07/25 发表评论 (0) 查看评论 一.http_load 程序非常 ...

  7. Web必备性能压力测试工具WebBench与ApcheBench(ab)详解

    在运维工作中,压力测试是一项很重要的工作.比如在一个网站上线之前,能承受多大访问量.在大访问量情况下性能怎样,这些数据指标好坏将会直接影响用户体验.但是,在压力测试中存在一个共性,那就是压力测试的结果 ...

  8. 三种web性能压力测试工具

    三种web性能压力测试工具http_load webbench ab小结 题记:压力和性能测试工具很多,下文讨论的是我觉得比较容易上手,用的比较多的三种 http_load 下载地址:http://w ...

  9. (转)用mysql自带工具mysqlslap对数据库进行压力测试

    http://aolens.blog.51cto.com/7021142/1901557-------用mysql自带工具mysqlslap对数据库进行压力测试 mysqlslap是mysql自带的工 ...

最新文章

  1. BZOJ4566: [Haoi2016]找相同字符
  2. 20170401 11G Deprecated Attributes for LOG_ARCHIVE_DEST_n
  3. 数据结构与算法 -- 队列 ADT
  4. HDU 1546 Idiomatic Phrases Game
  5. 非表单元素如何使用焦点事件
  6. 前端必知:微信小程序如何引入阿里图标
  7. 【LeetCode】274. H指数
  8. 实战 target 选择器,解放生产力
  9. win10在BIOS开启Intel VT-x
  10. 客观评价,一起看看iPhone 12是否值得你入手?
  11. 一个人竟然撸了一个网易云音乐云村
  12. 程序员之路:护眼豆沙绿颜色值
  13. 3X技术点亮发布会 雄迈十年产业融合再出发
  14. 牛客练习赛31 B 赞迪卡之声妮莎与奥札奇(逻辑+博弈) B
  15. [记录]es6常用去重方法(数组、字符串)
  16. 2020京东全球科技探索者大会来啦!三大体系CEO约你来开会!
  17. 阿里150亿元拿下分众,马云的新零售到底需要多大的流量?
  18. 黑苹果cpu支持列表_单卡gpu直通,黑苹果,amd_cpu教程
  19. 为什么说飞机并不是最安全的交通工具?
  20. DLG\DOM\DEM...免费提供!河北省向全社会公开2020版地理信息数据资源

热门文章

  1. 浏览器不可访问网络,检查网络,提示远程计算机或设备将不接受连接
  2. linux app,比较Linux App Store:哪一个适合您? | MOS86
  3. Android 8.1 Doze模式分析(一)——Doze简介和DeviceIdleController的启动
  4. 基于HTML+CSS+JS制作蛋糕商城(web前端网页制作课作业)
  5. 手机进程设置多少个最好_手机卡顿和耗电,1秒关闭这8个设置,流畅到2025年,网友:真心强...
  6. 关于Excel表操作-通过Fuzzywuzzy实现模糊匹配
  7. 亲测有效的CredSSP的解决方法
  8. DIY一把属于自己的机械键盘(一)
  9. Qt安卓开发:调用java代码的获取usb权限
  10. 安卓USB模块分析(二)- API使用