麦斯科技 · 2022年12月09日 · 四川

在阿里云倚天710实例上部署Redis可以获得高达36%的性能优势

https://mp.weixin.qq.com/s?__biz=Mzg5MjUyNTM2OA==&mid=2247486391&idx=1&sn=d6484eb04139fe7f589ae8e7adda62fa&chksm=c03d85e0f74a0cf6d081f4598b9527b60faad87612f381736ea222a6e44d96478a390a81eda5&token=1647377588&lang=zh_CN#rd

作者:Ker Liu 2022年12月7日

简介

Redis 是一种开源的内存型数据存储,通常被用作数据库、缓存系统和消息代理。 它广泛用于医疗卫生系统、物联网和金融服务等实时应用行业。 Redis 具有高度可扩展性,可用于实时分析、缓存、发布/订阅应用程序和会话管理。
在本文中,我们在阿里云 ECS G8y 实例(基于 Armv9 的倚天 710 处理器)和 G7 实例(第三代英特尔至强可扩展处理器)上做了Redis的吞吐量测试对比,以展示倚天 710 的性能优势。

基准测试搭建与结果

我们使用 Memtier 作为负载生成器和性能基准测试工具。 它是 Redis Labs 为 Redis 构建的开源高吞吐量基准测试工具。 Memtier 部署在单独的 ECS 实例上。
对于Redis服务器,我们在实例的每个core上都部署了一个Redis进程,构成了Redis多进程场景。
图片1.png
图1. Redis 基准测试拓扑
两种被测ECS实例类型配置如下。基准测试客户端使用了一个单独的G8y.8xlarge实例。
微信图片_20221209222408.png
表1.测试实例配置
基准测试使用以下软件版本和测试参数。
微信图片_20221209222443.png
我们使用 8 个 Memtier 客户端同时为 8 个 Redis 进程生成请求,每个 Memtier 客户端创建 8 个线程,每个线程有 10 个并发连接,对于每个Memtier客户端就相当于有 80 个并发连接。Pipeline分别设置为 1、50 和 100。 Pipeline大于1时可用于批量数据传输以增加应用程序的吞吐量。
在 G8y 和 G7 上启用 XPS (Transmit Packet Steering), RPS (Receive Packet Steering) 和 RFS (Receive Flow Steering)后,这两个实例的性能都得到了提升。基于 Yitian 710 与同规格的基于 x86 的 ECS 实例相比,Redis 数据库的吞吐量性能优势高达 36% 。下表中显示的结果是 30 次连续测试运行的汇总结果。
Redis 在 G8y 和 G7 实例上的性能数据。
微信图片_20221209222507.png
表2. (G8y vs. G7) Redis 吞吐量性能数据
图片2.png
图2. (G8y vs. G7) Redis吞吐量性能优势

总结

与同规格的基于 x86 的 ECS 实例相比,Redis 部署在基于 Yitian 710 的 ECS 上可获得高达 36% 的吞吐量性能优势。 此外,据阿里巴巴称,基于倚天710的G8y实例售价比G7实例低20%。

推荐阅读
关注数
5845
内容数
525
定期发布Arm相关软件信息,微信公众号 ArmSWDevs,欢迎关注~
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息