Memcached 工作负载简介
Ampere Altra Max 上的 Memcached 内存键值存储系统
Ampere® Altra® 和 Ampere® Altra® Max 处理器是为云原生应用构建的完整片上系统 (SOC) 解决方案。 Ampere Altra Max 最多支持 128 个内核。 除了提供大量高性能内核外,其创新架构还提供可预测的高性能、线性扩展和电源效率。
Memcached 是一种开源的、内存中的键值对数据存储系统,通常用于存储来自数据库调用、API 调用或页面渲染结果的小块,任意类型的数据(字符串、对象)。 由于其内存特性,Memcached 旨在通过在 RAM 中缓存数据和对象以减轻数据库负载来加速动态 Web 应用程序。据 DB-engines 称,它一直被列为云中最受欢迎的键值存储系统之一。
在本工作负载简介中,我们将 Ampere Altra Max M128-30 与运行 MySQL 的 Intel® Xeon® 8380 和 AMD EPYC™ 7763 处理器进行比较,测试他们的吞吐量和延迟
Ampere Altra Max 通过使用创新的架构设计、以一致的运行频率以及更能抵抗“相邻干扰”问题的单线程内核,为 Memcached 等云原生应用提供卓越的性能,可以让工作负载在负载不断增加的情况下,以可预测的方式或最小的差异下运行。
Ampere处理器旨在提供卓越的电力效率,提供行业领先的性能/瓦特能力和更低的碳足迹。
云原生:Ampere Altra Max 旨在为云客户提供更高性能和更大的可扩展性,对于 Memcached 这样的工作负载,性能比最好的 x86 服务器可高74%。
高能效:凭借多达 128 个节能的 Arm 内核,Ampere Altra Max 可以降低 34% 的功耗,同时提供与最佳 x86 服务器相当的性能。
降低碳足迹:行业领先的性能和高能效使得 Ampere Altra Max 表现出高达 2.6 倍的性能/瓦特,实现更低的 TCO 和更少的碳足迹。
一致性和可预测性:运行 Memcached 实例时,凭借固定最大频率运行的单线程内核,可确保在严格的 SLA 和高负载下进行线性扩展。
内存
外部连接
系统
性能
我们使用 memtier_benchmark(由 Redis Labs 开发)作为负载生成器来对 Memcached 进行基准测试。每个测试都配置为使用多个线程、每个线程对多个客户端,并启用流水线运行。
我们建议使用 GCC(GNU 编译器集合)10.2 或更高版本编译 Redis 服务器系统,因为较新的编译器在编译优化方面已经有了很多进展,可以进一步优化AArch64的程序代码,大幅提升性能。
我们使用 CentOS 8.3(内核 4.18)和 GCC 10.2 编译的 Memcached 服务 1.6.9 版本进行测试。我们比较了 Ampere Altra Max M128-30、AMD EPYC 7763 和 Intel Ice Lake Refresh(请参阅下表查看结果)。对于每个测试,我们使用类似的客户端来生成对 Memcached-server 的请求。
在指定的服务水平协议 (SLA) 下测量吞吐量更接近实际情况,所以我们使用了 1 毫秒的第 99 个百分位延迟 (p.99)的前提条件,即要确保 99% 的请求在最坏情况下的响应时间不超过1 毫秒。
测试以 1:10 的 set:get 比率(1 个键/值写入和 10 个键/值读取)和 128 字节有效负载运行了 2 分钟,这对于内存缓存很常见。我们最初使用适当数量的客户端和线程/客户端来加载一个 Memcached 服务实例,同时确保 p.99 延迟最多为 1 毫秒。Memcached 中的流水线功能允许客户端将多个请求打包到一个请求包中,这样可以减少数据包处理开销。此功能可以显著减少响应时间,我们对 Ampere Altra Max M128-30 使用了 126 个并发流水线请求。
接下来,我们依次增加 Memcached 实例的数量,直到一个或多个实例违反 p.99 延迟 SLA。将所有实例的总吞吐量用作主要性能指标。我们进行了 3 次测试,发现每次运行的性能波动都非常小。
Ampere Altra Max M128-30 业界领先的 Memcached 性能和能效
如上图所示,与英特尔 8380 相比,我们观察到 Ampere Altra Max 的性能可高达 1.74 倍(见图表)。
与 AMD 7763 相比,我们观察到 Ampere Altra Max 的性能提高了 1.23 倍(见图表)。
对于大规模云部署,性能/瓦特(即能源效率)是除了原始性能之外的重要指标。 在指定的 SLA 下,Ampere Altra Max 处理器的性能/瓦特性能比 Intel 服务器高 2.66 倍,比 AMD 服务器高 1.87 倍。
当今大多数云使用中都使用快速内存缓存。Memcached 是一种流行的高吞吐量内存键值存储系统,适用于横向扩展配置中的低延迟应用程序。 Ampere Altra Max 旨在为 Memcached 等云原生应用程序提供卓越的性能和能源效率。在 Ampere 的测试中,处理器的性能提升高达 1.74 倍,能效提升高达 2.66 倍。有关此工作负载或其他工作负载的更多信息,请访问 https://solutions.amperecomputing.com/。
此处包含的所有数据和信息仅供参考,Ampere 保留更改它的权利,恕不另行通知。本文档可能包含技术错误、遗漏和印刷错误,Ampere 没有义务更新或更正此信息。 Ampere 不作任何形式的陈述或保证,包括但不限于对不侵权、适销性或适用于特定目的的明示或暗示保证,并且不承担任何形式的责任。所有信息均“按原样”提供。本文件不是 Ampere 的要约或具有约束力的承诺。使用此处设想的产品需要随后的谈判和最终协议的执行,或者受 Ampere 的商品销售条款和条件的约束。
与 Ampere 测试中使用的不同的系统配置、组件、软件版本和测试环境可能会导致与 Ampere 获得的测量结果不同。
©2022 Ampere Computing 版权所有。Ampere、Ampere Computing、Altra 和“A”标志都是 Ampere Computing 的注册商标或商标。 Arm 是 Arm Limited(或其子公司)的注册商标。本出版物中使用的所有其他产品名称仅用于识别目的,可能是其各自公司的商标。
Ampere Computing® / 4655 Great America Parkway, Suite 601 / Santa Clara, CA 95054 / amperecomputing.com