论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
软件与程序人生
›
后端开发
›
.Net
›
CYQ.Data 操作 Redis 性能测试:对比 StackExchange.Red ...
CYQ.Data 操作 Redis 性能测试:对比 StackExchange.Redis
丝
金牌会员
|
2024-5-13 23:02:19
|
显示全部楼层
|
阅读模式
楼主
主题
863
|
帖子
863
|
积分
2589
前言:
前几天,点开自己的博客,看了一下
CYQ.Data V5系列
都有哪些文章,
发现了一篇2019年写的:
CYQ.Data 对于分布式缓存Redis、MemCache高可用的改进及性能测试
,于是点进去看了看。
感觉文章中有些表述存有问题,不过不是重点。
重点,看了里面的测试结论,如果四五年过去了,CYQ.Data 低调的更新,有没有进步呢?
为了和之前的版本举行对比,好在当年有留下代码,就直接拿当年的代码来测试一下。
下面就来重新看一下新的测试结果:
测试环境:
本次测试为.Net Windown 版本,下次再测试.Net Core Linux 版本。
Win11 系统:6核16G内存
Redis 版本:redis_version:3.2.100
由于单机测试,受运行步伐和Redis自身步伐等多综合环境影响,测试结果仅供参考,用娱乐的心态看看即可。
测试代码:
见上一篇文章的测试代码:
点击下载
CYQ.Data Redis 测试结果:
使用 CYQ.Data 当前最新版本:V5.9.2.7
VS2022 中直接运行 Release 版本:
直接运行编绎的exe步伐结果:
StackExchange.Redis 测试结果:
使用 StackExchange.Redis 当前最新版本:V2.7.27
考虑到 StackExchange.Redis 默认是单线程,因此提前设置最低线程池,不然会抛非常。
ThreadPool.SetMinThreads(128, 128);
复制代码
VS2022 中直接运行 Release 版本:
运行编绎后步伐 exe 结果:
redis-benchmark.exe 测试结果:
运行结果1:
运行结果2:
运行结果3:
运行结果4:
总结:
详细的性能指标,应该联合自身业务和生产环境,测试出适合自身要求的指标。
下面就来看看总结词吧:
1、Redis 自带测试工具
单线程时,能跑到2w/s,为啥6核下,最高也是6w/s出头,而不是2W*6=12W呢?
Redis 是一个单线程的内存数据库,它的性能受限于单个 CPU 核心的处理能力。即使在多核处理器上运行 Redis,它也只能利用其中一个核心进行处理,所以无法直接通过简单地将单核性能乘以核心数来计算多核性能。
在一个六核处理器上运行 Redis,虽然有多个核心可供利用,但 Redis 本身仍然是单线程的,因此最高的吞吐量受限于单个核心的性能。虽然可以同时处理多个请求,但每个请求仍然只能在一个核心上依次执行,不能完全实现性能的线性增长。
此外,Redis 在处理请求时还会涉及到锁竞争、线程切换等开销,这些因素也会限制其在多核处理器上的性能表现。因此,尽管在多核处理器上运行 Redis 会比单核处理器有一定的性能提升,但不会达到简单地将单核性能乘以核心数的增长幅度。
复制代码
2、StackExchange.Redis 测试结果总结:
在VS2002中启动运行时,单线程时,性能特别低,只有4000/s上下,这不禁让我想起上一份测试的结果,是不是也是受这种运行模式影响。
在直接运行exe步伐,单线程时,在1W/s左右,8线程下到5.2w/s出头。
16线程之后,突飞猛进了,突破 Redis自身极限,达到10-20w/s ?
听说StackExchange.Redis 从2.X 版本后,重构了代码,在资源管够的情况下,将代码从单条提交串行转批量提交,因此就有了这种测试结果。
复制代码
3、CYQ.Data Redis 测试结果总结:
在VS中启动运行,和直接运行启动,两者性能相差不大。
单线程时,在1.5w/s左右,多线程下到5.2w/s,效果基本稳固在5w/s上下。
团体 CYQ.Data Redis 表现是不错的,通例调用性能比 StackExchange.Redis 高一些(去掉它鸡贼的批量方式)。
目前 CYQ.Data 未提供批量方法调用,后续会考量,是否引入这种自动批量处置惩罚方式,或提供批量调用入口。
目前机制下,可以通过增加 Redis 服务数量来提拔并发性能。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
丝
金牌会员
这个人很懒什么都没写!
楼主热帖
ShardingSphere 异构迁移最佳实践:将3 ...
MySQL 5.7 安装教程(全步骤、保姆级教 ...
本科毕设CTF平台-MarsCTF
KubeEdge 1.12版本发布,稳定性、安全 ...
15.Linux和Windows入侵排查
mysql数据迁移,通用windows->linux,li ...
Redis介绍与安装
Grafana 系列文章(一):基于 Grafana ...
学生信息管理系统(JAVA+MYSQL) ...
Spring Data JPA系列2:SpringBoot集成 ...
标签云
存储
挺好的
服务器
快速回复
返回顶部
返回列表