一次Redis 的性能测试和问题 [问题已经自己解决,见文章最后]
【我的问题】:请教个问题,我在本机搭建linux虚拟机+redis 3.2.6,然后在本机物理机上面测试虚拟机的redis性能,如下VM配置参数做测试,redis 的性能好像不算太好,问题待排查的两点如下:
1. 硬件方面:win 7本地物理机个人台式电脑(一个 i7 CPU) ,上面挂载的服务器VM虚拟机 ?
2. 软件方面:VM虚拟机上面的Redis 3.2.6 配置参数没有配置为最佳状态?
【期望结果】
硬件不变的情况下,将上面的redis的单线程和多线程的写入性能分别提升3~5倍。
【测试结果如下】:
2.1 多线程:1W次 写请求 ,并发成功次数为9760次,总耗时19.981秒
2.2 单线程:1W次 写请求 ,并发成功次数为1W次,总耗时6.973秒
【测试详情如下】:
一. 测试环境:
客户端:物理机 192.168.3.6 (16GB内存 + SSD 256GB系统盘 + i7 CPU 8核多线程)
服务器:VM虚拟机 192.168.3.44 ( 2GB 内存 + VM分配 4CPU + Redis3.2.6 + CentOS 6.5 x64 )
二. 测试结果
2.1 多线程:1W次请求 ,并发成功次数为9760次,总耗时19.981秒
2.2 单线程:1W次请求 ,并发成功次数为1W次,总耗时6.973秒
问题已经解决:
最后发现导致并发性能上不去的原因:就是因为每次执行测试方法都输出当前进度信息到屏幕,这个比较耗时,
并且是有资源争夺互斥。去掉显示每次执行显示进度后,多线程压力测试或单线程压力测试的性能就提高3~5倍了如下图:
至于为何这里多线程反而笔单线程慢,是因为我测试环境,客户端和Redis所在虚拟机都是在同一台物理个人PC上面,所以CPU的使用,物理机和虚拟机抢夺CPU使用,导致程序并发时候性能较低。
1. 单线程:每秒写入Redis的速度为5073 次/秒 (平均值)
2. 多线程:每秒写入Redis的速度为3600 次/秒 (平均值)
1HS8%606.jpg)
1HS8%606.jpg)
一次Redis 的性能测试和问题 [问题已经自己解决,见文章最后]的更多相关文章
- Kioskcached(1)之 Memcached & Redis & Kioskcached 性能测试对比
前言:本文仅仅是作者自己在学习过程中的一次实验而已,或许因为各种因素会导致实验结果与你之前的认知不太一样,因此请你带着批判的眼光看待本文(本文不具有实际环境的参考性). 一:测试目的 在了解了一些No ...
- 一次Redis 的性能测试和问题
[我的问题]:请教个问题,我在本机搭建linux虚拟机+redis 3.2.6,然后在本机物理机上面测试虚拟机的redis性能,如下VM配置参数做测试,redis 的性能好像不算太好,问题待排查的两点 ...
- redis基准性能测试
1 测试目的 了解redis在不同情况下的性能表现,并分析其性能瓶颈,找出相应的解决方案. 2 redis基准测试概览 运行下列命令可以了解自己的redis服务器的基本性能指标. 通过loopback ...
- redis写入性能测试
import timeit import redis def clock(func): def clocked(*args, **kwargs): t0 = timeit.default_timer( ...
- redis 基本性能测试说明
http://ghoulich.xninja.org/2016/11/17/how-to-use-redis-benchmark-to-measure-performance/
- redis/分布式文件存储系统/数据库 存储session,解决负载均衡集群中session不一致问题
先来说下session和cookie的异同 session和cookie不仅仅是一个存放在服务器端,一个存放在客户端那么笼统 session虽然存放在服务器端,但是也需要和客户端相互匹配,试想一个浏览 ...
- 安装redis时Newer version of jemalloc required错误解决
问题: [root@localhost redis-4.0.0]# make cd src && make allmake[1]: Entering directory `/root/ ...
- redis 创建集群时 出现的错误解决方式
1. 创建集群时报以下错误 (1)错误1 ./redis-trib.rb create --replicas 1 XXXXXX:5301 XXXXXX:5302 XXXXXX:5303 XXXXXX: ...
- redis 带入的挖矿病毒 qW3xT.2 wnTKYg 解决方法
最近我的阿里云ecs 老是收到 云盾态势感知系统检测到异常 top -c 后发现一个 疑似病毒 /tmp/qW3xT.2 看到网友们的解决方案 试过之后效果不错,可以用的 知道wnTKYg是什么鬼之 ...
随机推荐
- Javascript:各种宽高
Javascript: IE中:document.body.clientWidth ==> BODY对象宽度document.body.clientHeight ==> BODY对象高度d ...
- java应用程序已被安全设置阻止的解决办法(总有一个适合你)
1. 在1月底的一次Java自动更新升级后,我点开已经配置好的Java小程序,赫然看到如下错误: 在网上查找了很多资料,发现就是此次更新的问题,解决方法如下: 控制面板—>Java—>安全 ...
- 使用react context实现一个支持组件组合和嵌套的React Tab组件
纵观react的tab组件中,即使是github上star数多的tab组件,实现原理都非常冗余. 例如Github上star数超四百星的react-tab,其在render的时候都会动态计算哪个tab ...
- Aligning Plots in a Column作图列对齐
Plot[Sin[x], {x, 0, Pi}] Plot[10000 Sin[x], {x, 0, Pi}] 直接作图左边无法对齐,影响图的美观.可以使用左边界空格实现列对齐,代码如下: optio ...
- Resharper F12下载dll源码
原作者:赵青青 原文链接:Visual Studio(VS) F12 查看DLL源代码 Dot Peek 今天在调试时,又有这个需求,想查看dll的源代码,我决定从dot peek这个程序入手去查找相 ...
- JsonConvert序列化问题
返回的Json数据如下: [[1400025600,9633460,9667535,2698.09,2734.73,2749,2698.08,25333.3057,11784.9,13548.4,69 ...
- Microsoft Fluent Design System
转载自:http://www.ui.cn/detail/131217.html 就在刚刚举办的 Microsoft Build 2017 中,微软对外公布了它们最新的设计语言--"Fluen ...
- 解析angularjs中的绑定策略
一.首先回顾一下有哪些绑定策略? 看这个实在是有点抽象了,我们来看具体的实例分析吧! 二.简单的Demo实例 @绑定:传递一个字符串作为属性的值.比如 str : ‘@string’ 控制器中代码部分 ...
- LA 4670 AC自动机
题意:给一个字典,看这个字典中匹配最多次数的是哪个单词(可以有多个). 分析: AC自动机就是用来解决多模式匹配问题的工具. 模板用的lrj的,相比HDU 2222,动态开辟字典树.用last数组统计 ...
- HDU 4278 卡特兰,区间DP
题意:每个人有一个DI值,现在有一个小黑屋,这些人的顺序可以利用这个小黑屋调整,调整方式是入栈出栈方式,也就是说,这里的方案是有卡特兰数个方式. 调整后使得 d1*0 + d2*1 + d3*2 + ...