【我的问题】:请教个问题,我在本机搭建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 次/秒 (平均值)

一次Redis 的性能测试和问题 [问题已经自己解决,见文章最后]的更多相关文章

  1. Kioskcached(1)之 Memcached & Redis & Kioskcached 性能测试对比

    前言:本文仅仅是作者自己在学习过程中的一次实验而已,或许因为各种因素会导致实验结果与你之前的认知不太一样,因此请你带着批判的眼光看待本文(本文不具有实际环境的参考性). 一:测试目的 在了解了一些No ...

  2. 一次Redis 的性能测试和问题

    [我的问题]:请教个问题,我在本机搭建linux虚拟机+redis 3.2.6,然后在本机物理机上面测试虚拟机的redis性能,如下VM配置参数做测试,redis 的性能好像不算太好,问题待排查的两点 ...

  3. redis基准性能测试

    1 测试目的 了解redis在不同情况下的性能表现,并分析其性能瓶颈,找出相应的解决方案. 2 redis基准测试概览 运行下列命令可以了解自己的redis服务器的基本性能指标. 通过loopback ...

  4. redis写入性能测试

    import timeit import redis def clock(func): def clocked(*args, **kwargs): t0 = timeit.default_timer( ...

  5. redis 基本性能测试说明

    http://ghoulich.xninja.org/2016/11/17/how-to-use-redis-benchmark-to-measure-performance/

  6. redis/分布式文件存储系统/数据库 存储session,解决负载均衡集群中session不一致问题

    先来说下session和cookie的异同 session和cookie不仅仅是一个存放在服务器端,一个存放在客户端那么笼统 session虽然存放在服务器端,但是也需要和客户端相互匹配,试想一个浏览 ...

  7. 安装redis时Newer version of jemalloc required错误解决

    问题: [root@localhost redis-4.0.0]# make cd src && make allmake[1]: Entering directory `/root/ ...

  8. redis 创建集群时 出现的错误解决方式

    1. 创建集群时报以下错误 (1)错误1 ./redis-trib.rb create --replicas 1 XXXXXX:5301 XXXXXX:5302 XXXXXX:5303 XXXXXX: ...

  9. redis 带入的挖矿病毒 qW3xT.2 wnTKYg 解决方法

    最近我的阿里云ecs 老是收到 云盾态势感知系统检测到异常 top -c 后发现一个 疑似病毒  /tmp/qW3xT.2 看到网友们的解决方案 试过之后效果不错,可以用的 知道wnTKYg是什么鬼之 ...

随机推荐

  1. Javascript:各种宽高

    Javascript: IE中:document.body.clientWidth ==> BODY对象宽度document.body.clientHeight ==> BODY对象高度d ...

  2. java应用程序已被安全设置阻止的解决办法(总有一个适合你)

    1. 在1月底的一次Java自动更新升级后,我点开已经配置好的Java小程序,赫然看到如下错误: 在网上查找了很多资料,发现就是此次更新的问题,解决方法如下: 控制面板—>Java—>安全 ...

  3. 使用react context实现一个支持组件组合和嵌套的React Tab组件

    纵观react的tab组件中,即使是github上star数多的tab组件,实现原理都非常冗余. 例如Github上star数超四百星的react-tab,其在render的时候都会动态计算哪个tab ...

  4. Aligning Plots in a Column作图列对齐

    Plot[Sin[x], {x, 0, Pi}] Plot[10000 Sin[x], {x, 0, Pi}] 直接作图左边无法对齐,影响图的美观.可以使用左边界空格实现列对齐,代码如下: optio ...

  5. Resharper F12下载dll源码

    原作者:赵青青 原文链接:Visual Studio(VS) F12 查看DLL源代码 Dot Peek 今天在调试时,又有这个需求,想查看dll的源代码,我决定从dot peek这个程序入手去查找相 ...

  6. JsonConvert序列化问题

    返回的Json数据如下: [[1400025600,9633460,9667535,2698.09,2734.73,2749,2698.08,25333.3057,11784.9,13548.4,69 ...

  7. Microsoft Fluent Design System

    转载自:http://www.ui.cn/detail/131217.html 就在刚刚举办的 Microsoft Build 2017 中,微软对外公布了它们最新的设计语言--"Fluen ...

  8. 解析angularjs中的绑定策略

    一.首先回顾一下有哪些绑定策略? 看这个实在是有点抽象了,我们来看具体的实例分析吧! 二.简单的Demo实例 @绑定:传递一个字符串作为属性的值.比如 str : ‘@string’ 控制器中代码部分 ...

  9. LA 4670 AC自动机

    题意:给一个字典,看这个字典中匹配最多次数的是哪个单词(可以有多个). 分析: AC自动机就是用来解决多模式匹配问题的工具. 模板用的lrj的,相比HDU 2222,动态开辟字典树.用last数组统计 ...

  10. HDU 4278 卡特兰,区间DP

    题意:每个人有一个DI值,现在有一个小黑屋,这些人的顺序可以利用这个小黑屋调整,调整方式是入栈出栈方式,也就是说,这里的方案是有卡特兰数个方式. 调整后使得 d1*0 + d2*1 + d3*2 + ...