华为云DCS社区版Redis6.0技术大揭秘

举报
华为云PaaS服务小智 发表于 2021/09/15 14:37:03 2021/09/15
【摘要】 华为云DCS Redis 6.0社区版带来了极致性能、功能全面、可靠性强、性价比高的云服务,并且完全兼容开源Redis,客户端无需修改代码,开通后即可使用,使企业完全无需后顾之忧就能享受到业务响应速度数倍提升的黄金收益。

自从Redis进入6.0版本之后,新特性和功能改进每月都有新变化,升级速度简直是开挂上天啦!并且,对于 6.0 版本,Redis 之父 Antirez 在 RC1 版本发布时(2019-12-19)在他的博客上连续用了几个“EST”词语来评价:

这个版本提供了诸多令人心动的新特性及功能改进,比如新网络协议 RESP3,新的集群代理,ACL 等,其中关注度最高的应该是“多线程”了。

华为云DCS也第一时间启动了对Redis 6.0的支持工作经过大量前期工作筹备,华为云DCS社区版 Redis 6.02021年8月初发布正在公测 同时,与开源Redis6.x相比,DCS 社区版Redis6却是开源版本性能的1.5~3倍。

是如何做的呢?下面来给大家展开聊聊。

DCS 社区版 Redis6.0 产品性能

话不多说,先上图:

1、性能对比测试

如图,在400客户端连接情况下,2线程时,DCS写性能是开源的1.68倍,读性能是开源的1.54时延分别比开源快39%和35%4线程时,DCS写性能是开源的2.56倍,读性能是开源的2.22倍;时延分别比开源快61%和55%

2、性能提升剖析

看官们可以看到DCS 社区版Redis 6.0版本性能有了大幅提升,那它具体是怎么做到的呢?听小哥慢慢道来。

在 Redis 的多线程方案中,I/O 线程任务仅仅是通过 Socket 读取客户端请求命令并解析,却没有真正去执行命令,所有客户端命令最后还需要回到主线程去执行,因此对多核的利用率并不算高,而且每次主线程都必须在分配完任务之后忙轮询等待所有 I/O 线程完成任务之后才能继续执行其他逻辑。Redis之所以如此设计它的多线程网络模型,我认为主要的原因是为了保持兼容性又能利用多核提升 I/O 性能,应该是一个折中的选择。

华为云DCS Redis实现了真正的多线程优化提升,除了多线程网络并发,还优化了多线程事件处理机制,使我们的资源利用率和性能收益提升2~3倍。除此之外,垂直弹性伸缩也能更多层次等等。

3、与开源版本深入对比

下表是DCS社区版Redis 6.0与开源版本的详细对比:

DCS 社区版Redis 6.0与开源版本的详细对比.jpg

综上:华为云DCS Redis 6.0社区版带来了极致性能、功能全面、可靠性强、性价比高的服务,并且完全兼容开源Redis,客户端无需修改代码开通后即可使用,使企业完全无需后顾之忧就能享受到业务响应速度数倍提升的黄金收益

【小喇叭】:看官们,现在DCS Redis 6.0 社区版正在上线公测 ,期待大家踊跃报名,数量有限,先到先得。

参考、致谢:

Redis 作者 Antirez 的博客:http://antirez.com

https://mp.weixin.qq.com/s/SkYNjypPY3iW-DH01yYAiw

https://segmentfault.com/a/1190000039223696

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。