Azure 上的 Redis 工作负载简介
基于 Ampere Altra 处理器的Dpsv5 虚拟机
Ampere® Altra®处理器从设计伊始就旨在为云原生应用程序(如Redis)提供卓越的性能。以其创新架构,提供高性能、线性可扩展性和惊人的能源效率,Ampere Altra允许工作负载在不断增加的负载下,性能变化很小,以可预测的方式运行。在如Redis这样的实际云工作负载中提供行业领先的性能/瓦特能力和更低的碳足迹。
微软提供了一个全面的Azure虚拟机系列产品,以Ampere Altra云原生处理器为特色,可以运行各种各样的向外扩展的工作负载,如web服务器、开源数据库、内存应用程序、大数据分析、游戏、媒体等。由Ampere Altra处理器提供算力的Dpsv5 虚拟机是一种通用虚拟机产品,每个vCPU提供 2GB内存。vCPU、内存和本地存储的优化组合,可以经济有效地运行工作负载,不需要每个vCPU占用大量RAM。Epsv5虚拟机为内存优化型虚拟机,每个vCPU提供4gb的内存,适用于开源数据库、内存缓存应用、游戏和数据分析引擎等内存密集型工作负载。
Redis是一种开源的、内存中的键值数据存储,通常用作数据库或缓存。它使用内存中的数据集,但是可以通过定期写入或追加到磁盘来持久化数据。由于其在内存中的性质,Redis是非常快的,它可以在亚毫秒的延迟提供高吞吐量。根据DB-engines的数据,在云计算的关键价值存储中,云计算仍然非常受欢迎。
在这个工作负载简介中,我们比较了运行在由Ampere Altra处理器驱动的Microsoft Azure Dpsv5 虚拟机上的Redis与基于Intel® Xeon® Icelake的Dsv5和基于AMD EPYC™ Milan的Dasv5 上的Redis,同时测评每个实例上的吞吐量和延迟。
如图1所示,我们观察到,与基于英特尔Ice lake的Dsv5 vm相比,使用Ampere Altra处理器的Microsoft Azure Dpsv5 的性能提高了10%,比基于AMD米兰的Dasv5 提高了20%,p.99 SLA 都是1ms。
此外,与类似的传统x86虚拟机相比,Azure Dpsv5虚拟机也提供了令人信服的性价比——与D16sv5和D16asv5虚拟机相比,D16psv5虚拟机的性价比提高了38%。
我们使用memtier_benchmark(由Redis Labs开发)作为对Redis进行基准测试的负载生成器。每个测试都配置为使用多个线程运行,每个线程有多个客户端,并且启用了流水线。
我们建议使用GCC (GNU Compiler Collection) 10.2或更新版本编译Redis服务器,因为最近的编译器在为AArch64应用程序生成优化代码方面取得了重大进展。
我们使用Ubuntu 20.04.4 LTS (5.13.0-1017-azure)和用GCC 10.2编译的Redis-server 6.0.12进行测试。对于每个测试,我们都使用类似的客户机生成对Redis-server的请求。
按惯例在指定的服务水平协议(SLA)下测量吞吐量,因此使用了1 毫秒的第99百分位延迟标准(p.99),即确保了99%的请求的最差响应时间为3毫秒。
测试以1:10的get:set比例运行了3分钟,这在内存缓存中很常见。我们最初使用适当数量的客户端和线程/客户端来加载一个Redis实例,同时确保p.99的延迟不超过1毫秒。管道化(Pipelining)是Redis即使在客户端还没有读取旧的响应时就可以处理新请求的一个特性。这个特性可以极大地减少响应时间,我们使用了150个并发流水线请求。
Next, we successively increased the number of Redis instances till one or more instances violated the p.99 latency SLA. The aggregate throughput of all instances was used as the primary performance metric. We ran the test three times and saw minimal run-to-run variations.
接下来,我们依次增加Redis实例的数量,直到一个或多个实例违反了p.99延迟SLA。所有实例的总吞吐量被用作主要性能指标。我们运行了三次测试,每次运行之间的变化很小。
快速、开源、内存中的键值存储应用于当今大多数云缓存应用。Redis是一种流行的高吞吐量内存键值存储,适用于扩展配置中的低延迟应用程序。在Redis等云原生应用程序上,基于Ampere Altra的Dpsv5虚拟机的性能轻松超过了传统的x86虚拟机。对于云架构师来说,在Azure上选择基于Ampere altra的虚拟机可以获得更好的性能和性价比,同时减少碳足迹。
有关使用基于amere Altra 处理器的Azure虚拟机的更多信息,请访问Azure博客。
此处包含的所有数据和信息仅供参考,Ampere 保留更改它的权利,恕不另行通知。本文档可能包含技术错误、遗漏和印刷错误,Ampere 没有义务更新或更正此信息。 Ampere 不作任何形式的陈述或保证,包括但不限于对不侵权、适销性或适用于特定目的的明示或暗示保证,并且不承担任何形式的责任。所有信息均“按原样”提供。本文件不是 Ampere 的要约或具有约束力的承诺。使用此处设想的产品需要随后的谈判和最终协议的执行,或者受 Ampere 的商品销售条款和条件的约束。
与 Ampere 测试中使用的不同的系统配置、组件、软件版本和测试环境可能会导致与 Ampere 获得的测量结果不同。
性价比是在2022年9月使用微软的虚拟机定价计算的。有关详细信息,请参阅单个测试。
©2022 Ampere Computing 版权所有。Ampere、Ampere Computing、Altra和“A”标志均为Ampere Computing的注册商标或商标。Arm是Arm有限公司(或其子公司)的注册商标。本出版物中使用的所有其他产品名称仅用于识别目的,可能是其各自公司的商标。
Ampere Computing®/ 4655 Great America Parkway, Suite 601 / Santa Clara, CA 95054 / amperecomputing.com