ARM技术论坛
直播中

王磊

7年用户 1565经验值
私信 关注
[经验]

比较AWS M6g实例与M5实例上的etcd吞吐量和延迟性能

1. 简介

etcd是一个分布式键值对存储,设计用来可靠而快速的保存关键数据并提供给分布式系统访问,尤其被当前最流行的容器编排平台kubernetes所使用,用来管理配置数据、状态数据和元数据。

etcd 集群旨在提供具有最佳稳定性、可靠性、可扩展性和性能的键值存储。吞吐量和延迟是衡量性能的一些最常用方法,延迟是完成操作所需的时间,吞吐量是在给定时间段内完成的总操作数。

在本文中,我们比较了AWS M6g实例(基于 Arm Neoverse IP的 Graviton2)与M5实例(基于 Xeon Platinum 8000系列)上的etcd吞吐量和延迟,以展示Graviton2上的性能优势。

2. 基准测试搭建与结果

对于测试环境的搭建,我们使用了集成在etcd项目中的默认benchmark工具,这是etcd的官方基准测试工具。

etcd的性能测试通常有两种类型的“写”工作负载:

  • Write to leader
  • Write to all members

etcd-leader-final.png

Figure 1: 测试拓扑(Write to leader)

etcd-all-memebers-final.png

Figure 2: 测试拓扑(Write to all members)

该测试用到了四个EC2集群,配置如下,并且为这些实例使用了同一个置放群组以减少网络延迟。基准测试客户端使用一个m6g.4xlarge实例。

1.png

Table 1: 测试集群配置

基准测试软件版本和测试参数如下:

para.png

下表显示的结果是经过预热阶段(20次测试运行迭代)后20次连续测试运行迭代的汇总结果(20次的平均值),每次结果中取平均吞吐量和平均延迟作为衡量标准。与Xeon实例相比,在Graviton2实例上运行etcd可以得到18%的性能提升。

“Write to leader” case:

101.png

Table 2: etcd在M5和M6g上的吞吐量性能结果 (Write to leader)

102.png

Table 3: etcd在M5和M6g上的时延性能结果 (Write to leader)

“Write to all members” case:

103.png

Table 4: etcd在M5和M6g上的吞吐量性能结果 (Write to all members)

104.png

Table 5: etcd在M5和M6g上的时延性能结果 (Write to all members)

下图显示了在M5和M6g实例上运行etcd的的吞吐量和延迟比较 (Write to leader case)。

_leader_throughput.png

Figure 3: M6g VS M5 实例的性能提升 (Write to leader case)

_leader_latency.png

Figure 4: M6g VS M5 实例的延迟降低 (Write to leader case)

下图显示了在M5和M6g实例上运行etcd的的吞吐量和延迟比较(Write to all members case)。

_all_member_throughput.png

Figure 5: M6g VS M5 实例的性能提升 (Write to all members case)

_all_member_latency.png

Figure 6: M6g VS M5 实例的延迟降低(Write to all members case)

3. 总结

总而言之,与基于x86的同水平EC2实例相比,部署在AWS Graviton2上的etcd提升了高达18%的吞吐量,减少了18%的延迟,此外还有20%的成本优势。在这些实例上部署应用程序既简单又高效,不会产生额外开销。

原作者:Ker

更多回帖

发帖
×
20
完善资料,
赚取积分