DBA:介里有你没有用过的“CHUAN”新社区版本 Redis6.0
摘要:华为云 DCS Redis 6.0 社区版带来了极致性能、功能全面、可靠性强、性价比高的云服务,并且完全兼容开源 Redis,客户端无需修改代码,开通后即可使用,使企业完全无需后顾之忧就能享受到业务响应速度数倍提升的黄金收益。
本文分享自华为云社区《DCS 社区版 Redis6.0 技术大揭秘》,作者:叮叮当当的猫。
自从 Redis 进入 6.0 版本之后,新特性和功能改进每月都有新变化,升级速度简直是开挂上天啦!并且,对于 6.0 版本,Redis 之父 Antirez 在 RC1 版本发布时(2019-12-19)在他的博客上连续用了几个“EST”词语来评价:
这个版本提供了诸多令人心动的新特性及功能改进,比如新网络协议 RESP3,新的集群代理,ACL 等,其中关注度最高的应该是“多线程”了。
华为云 DCS 也第一时间启动了对 Redis 6.0 的支持工作,经过大量前期工作筹备,华为云 DCS 社区版 Redis 6.0 已于 2021 年 8 月初发布,正在公测。同时,与开源 Redis6.x 相比,DCS 社区版 Redis6 却是开源版本性能的 1.5~3 倍。
那它是如何做到的呢?下面来给大家展开聊聊。
DCS 社区版 Redis6.0 产品性能
话不多说,先上图:
性能对比测试
如图,在 400 客户端连接情况下,2 线程时,DCS 写性能是开源的 1.68 倍,读性能是开源的 1.54 倍,时延分别比开源快 39%和 35%;4 线程时,DCS 写性能是开源的 2.56 倍,读性能是开源的 2.22 倍;时延分别比开源快 61%和 55%。
性能提升剖析
看官们可以看到 DCS 社区版 Redis 6.0 版本性能有了大幅提升,那它具体是怎么做到的呢?听小哥慢慢道来。
在 Redis 的方案中,I/O 线程任务仅仅是通过 Socket 读取客户端请求命令并解析,却没有真正去执行命令,所有客户端命令最后还需要回到主线程去执行,因此对多核的利用率并不算高,而且每次主线程都必须在分配完任务之后忙轮询等待所有 I/O 线程完成任务之后才能继续执行其他逻辑。Redis 之所以如此设计它的多线程网络模型,我认为主要的原因是为了保持兼容性,又能利用多核提升 I/O 性能,应该是一个折中的选择。
华为云 DCS Redis 实现了真正的多线程优化提升,除了多线程网络并发,还优化了多线程事件处理机制,使我们的资源利用率和性能收益提升 2~3 倍。除此之外,垂直弹性伸缩也能更多层次等等。
与开源版本深入对比
下表是 DCS 社区版 Redis 6.0 与开源版本的详细对比:
综上:华为云 DCS Redis 6.0 社区版带来了极致性能、功能全面、可靠性强、性价比高的云服务,并且完全兼容开源 Redis,客户端无需修改代码,开通后即可使用,使企业完全无需后顾之忧就能享受到业务响应速度数倍提升的黄金收益。
看官们,现在DCS Redis6.0社区版正在上线公测,期待大家踊跃报名,数量有限,先到先得。
参考、致谢:
Redis 作者 Antirez 的博客:http://antirez.com
版权声明: 本文为 InfoQ 作者【华为云开发者社区】的原创文章。
原文链接:【http://xie.infoq.cn/article/1e3cd268c60c876dabea95069】。文章转载请联系作者。
评论