Redis5 压力测试结果反馈报告
Redis 相信很多人都用过了,关于性能啥的,网上一堆报告,闲得蛋痛,又随便测测写写一些狗屁文章,来刷存在感了。
安装最新Redis5.0.10
下载页默认是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分钟,压测不动就这样吧,后面有机会再压测模拟正常接口大小的结果。
今天的就先水到这里,下篇文章见。
Redis5 压力测试结果反馈报告的更多相关文章
- JMeter:生成漂亮的接口/压力测试的HTML报告
JMeter生成HTML网页报告(非gui模式操作) 我们做性能测试的时候会经常使用一些性能测试工具,比如loardrunner和jmeter,我个人比较喜欢Jmeter这个工具,jmeter之前版本 ...
- Android APP压力测试-Monkey
压力测试-Monkey学习 Monkey测试特点 什么是Monkey test? 如其名,像猴子一样,虽然什么都不懂,但是可以乱点一通,可以理解为压力测试.在规定的时间或次数范围内做任何随机的操作,随 ...
- Android自动化压力测试图解教程——Monkey工具
[置顶] Android自动化压力测试图解教程--Monkey工具 标签: 测试androidprofiling工具测试工具文档 2012-04-01 10:16 38185人阅读 评论(10) 收藏 ...
- 一个基于.NET平台的自动化/压力测试系统设计简述
AutoTest系统设计概述 AutoTest是一个基于.NET平台实现的自动化/压力测试的系统,可独立运行于windows平台下,支持分布式部署,不需要其他配置或编译器的支持.(本质是一个基于协议的 ...
- Android压力测试快速入门教程(图解)——Monkey工具
文章目录: 一.Monkey简介 二.Monkey的基本用法 三.Monkey测试示例图解 四.Monkey命令参数介绍 五.Monkey log分析 一.Monkey简介 Monkey:Androi ...
- (转)使用JMeter进行Web压力测试
使用JMeter进行压力测试 说到压力测试,一般第一反应都是LoadRunner.这个软件也确实是自动化测试的一个事实标准.无奈这个软件太过庞大,以及不能在MacOS上使用.我由于项目的需要,需要对一 ...
- Android自动化压力测试图解教程——Monkey工具 (转)
有时候我们需要对一个软件进行压力测试,检查该软件的性能.如果是人工进行测试的话,效率会低很多,而且会比较枯燥.这时,Android中的一个命令行工具Monkey就可以为我们减轻很多重复而又繁琐的工作. ...
- Android 压力测试工具Monkey
原文地址http://www.syhm52.com/tools/17.html 一.Monkey定义探索软件测试工具有哪些,本文主要介绍Monkey工具.Monkey测试是Android平台自动化测试 ...
- android app 压力测试工具-monkey tool
一.什么是Monkey? Monkey测试是Android自动化测试的一种手段,Monkey测试本身非常简单,就是模拟用户的按键输入,触摸屏输入,手势输入等,看设备多长时间会出异常. Monkey是A ...
随机推荐
- linux绑定盘符
[root@centos6 ~]# udevadm info -q path -n /dev/sdb [root@centos6 ~]# udevadm info -q path -n /dev/sd ...
- Linux下如何创建loop device
在Linux中,有一种特殊的块设备叫loop device,这种loop device设备是通过映射操作系统上的正常的文件而形成的虚拟块设备 因为这种设备的存在,就为我们提供了一种创建一个存在于其他文 ...
- 关于Java多线程看这一篇就够了,从创建线程到线程池分析的明明白白
前言 进程是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,即进程空间或(虚空间).进程不依赖于线程而独立存在,一个进程中可以启动多个线程. 线程是指进程中的一个执行流程,一个进程中可 ...
- 如何在Camtasia中对录制视频进行动画编辑
生活中,我们时时会遇到要剪辑视频不知道哪一款软件比较简单:当我们想要录制电脑屏幕时,网上的方法也总是不奏效.那是否有一款软件可以同时兼备这两种功能呢?今天我给大家推荐的便是一款同时兼备这两种功能的软件 ...
- guitar pro系列教程(十四):Guitar Pro教程之创建新乐谱后的设置
前面的章节我们有对Guitar Pro的单个功能作介绍,对于初学作曲,且又是吉他初学者的朋友们来说,学完这些功能介绍,自己还不能融会贯通起来,创建了一个新的乐谱后,但是看起来还不是很满意,今天我们就创 ...
- Jenkins中如何自定义构造结果
jenkis中的触发邮件机制是根据构建成功与否来发邮件,实际上我们在jenkis上定时执行脚本时是需要根据用例的执行结果来触发邮件预警 本文讲叙如何根据用例的执行结果来触发邮件预警 1.在任务配置的b ...
- Mac虚拟环境安装django
安装:pip3 install virtualenv 创建:Virtualenv env01 激活:Source env01/bin/activate django安装:pip3 install dj ...
- linux配置tomcat项目包
安装配置tomcat 操作系统: centos 7.1 使用模式:命令模式 使用工具:xshell5 .xftp5 注意之前有配置过tomcat需要进行以下4个步骤 1.关闭网管服务 输入命令: 进 ...
- 浅谈AsyncLocal,我们应该知道的那些事儿
前言 最近查看有关框架源码,发现AsyncLocal这玩意水还挺深,于是花了一点功夫去研究,同时对比ThreadLocal说明二者区别以及在何时场景下使用AsyncLocal或ThreadLocal. ...
- http 文件上传
参考https://www.cnblogs.com/yuwei0911/p/8601542.html