14

啥都吃的豆芽 · 2022年05月30日

AWS Graviton2 上的 Memcached 性能基准测试显示超过 50% 的性价比提升

image.png

Pranay Bakre
January 28, 2021

正如AWS re:Invent 2020中所强调的那样,许多客户正在获得使用 Arm Neoverse 支持的 AWS Graviton2 处理器的性价比优势。与基于 x86 的 Amazon EC2 实例相比,Amazon EC2 M6g、C6g、R6g 和 C6gn 实例的性价比最高可提高 40%。

在本博客中,我们展示了在基于 AWS Graviton2 的实例上运行 Memcached 工作负载与基于 x86 的同等实例相比 51% 的性能优势。我们正在Graviton2上发布一系列工作负载性能基准测试,建议查看我们的NGINX和Elasticsearch博客。

Memcached 是一种开源、高性能、分布式内存对象缓存系统,是支持 Web、移动应用程序、游戏、广告技术和电子商务中的实时应用程序的流行选择。它是一种内存键值存储,通过消除访问磁盘或 SSD 的需要来提供更高的应用程序性能。通过将数据保存在内存中,它可以避免延迟,并且可以比传统的基于磁盘的数据库更快地访问数据。

对于 Memcached 的性能基准测试,我们使用了内存优化的 Amazon EC2 R6g 实例。这些实例非常适合运行 Memcached 等内存密集型工作负载。我们在 R6g 和 R5 实例上安装了 Memcached 开源二进制文件,并观察到以下吞吐量和延迟结果:
image.png
image.png

绩效基准测试过程和结果

我们在与 Memcached 实例相同的 VPC 中的不同 EC2 实例上部署了 Memtier,这是一种用于 Memcached 的开源高吞吐量基准测试工具。根据以下参数,每个 Memcached 实例都会收到相同的负载。
image.png
在 R5 和 R6g EC2 实例上执行基准测试时使用了以下输入参数。
image.png
每次测试运行生成 5 个线程,每个线程有 100 个客户端,这会提供 500 个同时连接(会话)。每次运行从 Memtier 发送的请求数量总计达 500 万个。表 1 中的结果显示了吞吐量(操作数/秒)和延迟(越低越好)值。
image.png

配置

以下是构建测试设置的先决条件。
image.png
Memcached 1.6.6 需要 Ubuntu 20.10,并且可能无法通过 APT 存储库安装。手动下载二进制文件(arm64 和 x86_84),然后将其安装在各自的 EC2 实例(R6g 和 R5)上。按照此处提到的步骤安装 Memtier 基准测试工具。

以下命令中提到了执行 Memtier 测试的示例输入命令:

reads=5 --ratio=1:1 --key-pattern=R:R --key-minimum=16 --key -maximum=16 --data-size=128 --requests=10000 --run-count=20

R5 和 R6g 实例的 CPU 利用率指标

在执行基准测试时,我们使用 Grafana 可视化每个实例的每个内核的 CPU 利用率和总体 CPU 利用率指标。图 4 和图 5 显示了 R5 和 R6g 实例的利用率图表。
image.png
image.png

结论

在 AWS Graviton2 实例上部署 Memcached 可以提供 51% 的性能改进以及 20% 的成本效益。在 AWS Graviton2 上部署新应用程序简单快捷,无需任何复杂的迁移要求即可实现这些收益。有关开始使用 AWS Graviton2 的更多详细信息,请访问此github 页面

如有任何与在 Arm Neoverse 平台上运行软件工作负载相关的问题,请随时通过sw-ecosystem@arm.com与我们联系。

推荐阅读
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息