作者: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. Redis 基准测试拓扑
两种被测ECS实例类型配置如下。基准测试客户端使用了一个单独的G8y.8xlarge实例。
表1.测试实例配置
基准测试使用以下软件版本和测试参数。
我们使用 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 实例上的性能数据。
表2. (G8y vs. G7) Redis 吞吐量性能数据
图2. (G8y vs. G7) Redis吞吐量性能优势
总结
与同规格的基于 x86 的 ECS 实例相比,Redis 部署在基于 Yitian 710 的 ECS 上可获得高达 36% 的吞吐量性能优势。 此外,据阿里巴巴称,基于倚天710的G8y实例售价比G7实例低20%。