Redis 相信很多人都用过了,关于性能啥的,网上一堆报告,闲得蛋痛,又随便测测写写一些狗屁文章,来刷存在感了。

安装最新Redis5.0.10

Redis 官方地址

下载页默认是redis6.0,5.0版本在下面“other versions”,因为redis6.0 架构上做了很大的调整,线上服务器是centos7.8并且是内网状态,在不联网的情况下根本无法部署6.0(简直就是恶梦),业务还是5.0版本,那么这里就测试5.0版本。

按着官方的操着方式成功安装redis5.0

测试前配置准备

先看看服务器配置,CPU型号是:Intel(R) Xeon(R) CPU E5-2678 v3 @ 2.50GHz

先试官方提供的压测工具,在redis目录下面,redis-benchmark

相关的指令如下图

为了使得数据更真实,分别准备了两台服务器,Redis 服务器:192.168.3.40 ,压测服务器是:192.168.3.138 ,本次测试是基于单机测试,非集群

开始SET,Get,Lpush 常规测试

Set 测试

./redis-benchmark -h 192.168.3.40 -p 6379 -t set -n 1000000
./redis-benchmark -h 192.168.3.40 -p 6379 -t set -c 100 -n 1000000

上面两句代码分别是进行 1000000 次 Set 请求,使用默认大小(3 个字节),第一行默认使用50并发,第二行指定100并发数。

可以看到,这台Redis服务器的性能上限就是9W/s 的处理速度,当然REDIS的速度更多的是受限于内存的速率和网络IO,而并非CPU的影响。

从上面的数据来看,并发客户端从50升到100个,并没有很显著的提高性能,但是并不是意味着多个客户端并不能有效的提高处理速度。

把客户端并发数调整为10的时候,可以明显看到处理的速度变慢了。

接下来将测试不同的客户端并发数下,CPU和网络的变化情况

./redis-benchmark -h 192.168.3.40 -p 6379 -t set -c 5  -n 100000000
./redis-benchmark -h 192.168.3.40 -p 6379 -t set -c 50 -n 100000000
./redis-benchmark -h 192.168.3.40 -p 6379 -t set -c 100 -n 100000000

三者的处理速度分别是:3.8W/S , 10W/S , 8.6W/S

CPU变化总截图

网络变化总截图,注意顺序依次为三者的网络变化

Get 测试

./redis-benchmark -h 192.168.3.40 -p 6379 -t get -c 5  -n 100000000
./redis-benchmark -h 192.168.3.40 -p 6379 -t get -c 50 -n 100000000
./redis-benchmark -h 192.168.3.40 -p 6379 -t get -c 100 -n 100000000

三者的处理速度分别是:4.1W/S ,9.9W/S , 8.5W/S

CPU变化截图

网络变化总截图,注意顺序依次为三者的网络变化

   

Lpust 测试

./redis-benchmark -h 192.168.3.40 -p 6379 -t lpush -c 5 -n 100000000
./redis-benchmark -h 192.168.3.40 -p 6379 -t lpush -c 50 -n 100000000
./redis-benchmark -h 192.168.3.40 -p 6379 -t lpush -c 100 -n 100000000

三者的处理速度分别是:3.8W/S ,9.9W/S , 8.7W/S

CPU变化截图

网络变化总截图,注意顺序依次为三者的网络变化

    

本来是想测试下,正常环境下,模拟普通接口的压测,算了一下,每个接口15KB,以这个速度内存16G是不够的, 配置了100G内存,只能支持2分钟,压测不动就这样吧,后面有机会再压测模拟正常接口大小的结果。

今天的就先水到这里,下篇文章见。

最新文章

  1. SSRS Reports 2008性能优化案例
  2. Atitit 信用卡与会员卡(包括银行卡)的发展之路
  3. javascript事件代理(Event Delegation)
  4. Android如何让真机显示debug log的调试信息
  5. php 命名空间
  6. solr学习之入门篇
  7. Ant编译环境
  8. Java5中的线程池实例讲解
  9. OSX 10.10+Xcode5.1 无法启动或者安装应用程序到iOS 6.1 simulator
  10. Python-语法模板大全(常用)
  11. Android OS 源码 引入和编译 jar / so库
  12. 汇编实验1(又是作业emm)
  13. pytbull 手册
  14. C# MVC+EF—结构搭建
  15. dede 栏目及子栏目
  16. ubuntu编译python源码的坑
  17. Anaconda+Tensorflow环境安装与配置
  18. MXNet——symbol
  19. pairs 和 ipairs区别
  20. lessc的安装

热门文章

  1. 解决IE下readonly的Input光标选中的问题
  2. 解决Ubuntu配置nginx出现的问题
  3. My SQL的基本操作(总结)
  4. [Kafka][1][初识Kafka]
  5. php 判断网站是http还是https
  6. day94:flask:Jinjia2模板引擎&flask中的CSRF攻击&Flask-SQLAlchemy的创建模型类和基本的增删改查
  7. 【Azure Redis 缓存 Azure Cache For Redis】使用Redis自带redis-benchmark.exe命令测试Azure Redis的性能
  8. nginx介绍及常用功能
  9. Jinja2语法自动补全配置
  10. C++高级程序员进阶之路