Ampere Computing Logo
Contact Sales
Ampere Computing Logo
Workload Briefs for Ampere Computing

Azure 上的 Memcached 工作负载简介

基于 Ampere Altra 处理器的Dpsv5 虚拟机

概述

Ampere® Altra®处理器从设计伊始就旨在为云原生应用程序(如Memcached)提供卓越的性能。以其创新架构,提供高性能、线性可扩展性和惊人的能源效率,Ampere Altra允许工作负载在不断增加的负载下,性能变化很小,以可预测的方式运行。在 Memcached 实际工作负载中提供行业领先的性能/瓦特能力和更低的碳足迹。

微软提供了一个全面的Azure虚拟机系列产品,以Ampere Altra云原生处理器为特色,可以运行各种各样的向外扩展的工作负载,如web服务器、开源数据库、内存应用程序、大数据分析、游戏、媒体等。由Ampere Altra处理器提供算力的Dpsv5 虚拟机是一种通用虚拟机产品,每个vCPU提供 2GB内存。vCPU、内存和本地存储的优化组合,可以经济有效地运行工作负载,不需要每个vCPU占用大量RAM。Epsv5虚拟机为内存优化型虚拟机,每个vCPU提供4gb的内存,适用于开源数据库、内存缓存应用、游戏和数据分析引擎等内存密集型工作负载。

Memcached 是一种开源的、内存中的键值对数据存储系统,通常用于存储来自数据库调用、API 调用或页面渲染结果的小块,任意类型的数据(字符串、对象)。 由于其内存特性,Memcached 旨在通过在 RAM 中缓存数据和对象以减轻数据库负载来加速动态 Web 应用程序。据 DB-engines 称,它一直被列为云中最受欢迎的键值存储系统之一。

在这份工作负载简介中,我们比较了Azure中基于Ampere altra的Microsoft Azure Dpsv5实例和基于Intel® Xeon® Ice lake的Dsv5和基于AMD EPYC™ Milan的Dav5实例,同时分析了这些处理器上的吞吐量和延迟数据。


Fig. 1 memcached. jpg

结果和主要发现

对于大规模云部署,性能和性价比是两项重要的指标。

如图2所示,基于Ampere Altra的D16ps v5 虚拟机的性能比D16s v5 虚拟机好4%,比D16as v5好28%。

Fig.2.Memcached Normalized Performance under 1ms p.99 on Azure

在基准测试配置部分的表1中,列出了D16ps v5、D16as v5和D16s v5的每小时成本。在考虑虚拟机每小时的价格后,我们观察到D16ps v5 VM比D16s v5具有30%的性价比优势,比D16as v5 虚拟机具有43%的性价比优势,如图3所示。

Fig.3.Memcached Normalized Price-Performance under 1ms p.99 on Azure
基准测试配置

我们使用memtier_benchmark(由Redis Labs开发)作为Memcached基准测试的负载生成器。每个测试都配置为使用多个线程运行,每个线程有多个客户端,并且启用了流水线。

我们建议使用GCC (GNU Compiler Collection) 10.2或更新版本编译Memcached-server,因为新的编译器在生成优化代码方面取得了重大进展,可以提高AArch64应用程序的性能。

我们使用Ubuntu 20.04.4 LTS操作系统和5.13.0-1017-azure内核,使用GCC 10.2编译的Memcached 1.6.9进行测试。我们比较了Microsoft Azure D16ps v5、D16sv 5和D16asv5虚拟机。对于每个测试,我们都使用类似的客户机生成对Memcached-server的请求。

由于在指定的服务水平协议(SLA)下测量吞吐量是常见的操作,所以我们使用了1毫秒的99%延迟(p.99)。这确保99%的请求的最差响应时间为1毫秒。

测试以1:9的set:get比率(1个键/值写入,9个键/值读取)和32字节的有效负载运行了2分钟,这对于内存缓存来说很常见。我们最初使用适当数量的客户端和线程/客户端来加载一个Memcached-server实例,同时确保p.99的延迟不超过1毫秒。Memcached中的管道特性(Pipelining)允许客户端将多个请求打包到一个请求包中,这可以减少包处理开销。这个特性可以显著减少客户端和Memcached-server之间的交互次数,从而提高响应时间。

接下来,我们依次增加memtier_benchmark线程的数量、每个线程的客户端和管道深度,直到这些组合违反了p.99延迟SLA。在1毫秒p.99SLA的条件下最大吞吐量被用作主要性能指标,见表1。

在Azure 虚拟机上对Memcached进行基准测试时,使用了以下配置和设置。


Standard D16ps v5 (Ampere Altra)Standard D16as v5 (AMD Milan)Standard D16s v5 (Intel Ice Lake)
OS5.13.0-1021-azure5.13.0-1021-azure5.13.0-1021-azure
Kernel5.13.0-1021-azure5.13.0-1021-azure5.13.0-1021-azure
vCPUs 161616
Memory64GB64GB64GB
glibc version2.312.312.31
Memcached version1.6.91.6.91.6.9
Memcached config4 instances each with 4 memcached threads 4 instances each with 4 memcached threads 4 instances each with 4 memcached threads
Memtier version1.3.0 1.3.0 1.3.0
Memtier config" --memtier_protocol=memcache_binary --memtier_data_size=32 --memtier_ratio='1:9' --memtier_key_pattern='R:R' --memcached_num_threads=16 --memtier_clients="$c" --memtier_threads="$t" --memtier_pipeline="$p" " " --memtier_protocol=memcache_binary --memtier_data_size=32 --memtier_ratio='1:9' --memtier_key_pattern='R:R' --memcached_num_threads=16 --memtier_clients="$c" --memtier_threads="$t" --memtier_pipeline="$p" " " --memtier_protocol=memcache_binary --memtier_data_size=32 --memtier_ratio='1:9' --memtier_key_pattern='R:R' --memcached_num_threads=16 --memtier_clients="$c" --memtier_threads="$t" --memtier_pipeline="$p" "
ClientsD32psv5D32sv5D32sv5
Client configt=8, c=2, p=50t=24, c=2, p=25t=16, c=5, p=25
Hourly cost (on-demand)0.6160.6880.768
基准测试结论

Memcached是最早的快速开源内存键值存储之一,目前仍在大型生产部署中大规模使用。在云原生应用程序(如Memcached)上,基于Ampere Altra的Dpsv5 虚拟机轻松地超越了传统的x86产品——高达28%的性能和43%的性价比优势。对于云架构师来说,选择基于Ampere altra的Azure Dpsv5 虚拟机可以获得更好的性能和性价比,同时减少碳足迹。

有关使用基于Ampere 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

Created At : October 8th 2022, 7:44:59 am
Last Updated At : March 15th 2023, 9:10:52 am
Ampere Logo

Ampere Computing

4655 Great America Parkway

Suite 601 Santa Clara, CA 95054

image
image
 |  |  |  |  |  | 
© 2022 Ampere Computing LLC. All rights reserved. Ampere, Altra and the A and Ampere logos are registered trademarks or trademarks of Ampere Computing.
This site is running on Ampere Altra Processors.