博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一次Redis 的性能测试和问题 [问题已经自己解决,见文章最后]
阅读量:5122 次
发布时间:2019-06-13

本文共 901 字,大约阅读时间需要 3 分钟。

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

 

转载于:https://www.cnblogs.com/itshare/p/6389058.html

你可能感兴趣的文章
Django缓存和内置信号
查看>>
Oracle中的单值函数
查看>>
今天开通一个真正属于自己的博客了《L.M》
查看>>
19.请输入整数
查看>>
拦截QT关闭窗口的CloseEvent
查看>>
git
查看>>
HDU 1159 Common Subsequence 动态规划
查看>>
冒泡排序 和 归并排序
查看>>
【转】C#之继承
查看>>
jieba库分词
查看>>
BAT批量处理 命令
查看>>
【读书笔记】计算机是怎样跑起来的
查看>>
ApacheCN 数据科学/人工智能/机器学习知识树 2019.2
查看>>
Httpd 使用ip可以访问,localhost和127.0.0.1不能访问
查看>>
类的 三大特性 封装,继承,多态 overload与override的区别
查看>>
Date Picker控件:
查看>>
svn在linux下的使用(svn命令行)ubuntu 删除 新增 添加 提交 状态查询 恢复
查看>>
java处理url中的特殊字符%等
查看>>
你的第一个Django程序
查看>>
Tomcat免安装版的环境变量配置以及Eclipse下的Tomcat配置和测试
查看>>