选择节点大小 - Amazon ElastiCache
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

选择节点大小

为集群选择的节点大小会影响成本、性能和容错能力。

选择您的内存缓存节点大小

Memcached 集群包含一个或多个节点,该集群的数据会分区到各个节点中。因此,集群的内存需求和节点的内存相关但不相同。您可以通过拥有几个大型节点或多个小型节点来获得所需的集群内存容量。此外,由于您的需求是变化的,您可以在集群中添加节点或删除节点,从而仅为所需内容付费。

集群的总内存容量的计算方法是,在扣除系统开销后将集群中的节点数乘以每个节点的 RAM 容量。每个节点的容量都基于节点类型。

cluster_capacity = number_of_nodes * (node_capacity - system_overhead)

集群中的节点数是运行 Memcached 的集群可用性的一个关键因素。单节点出现故障可能对应用程序的可用性以及后端数据库的负载产生影响。在这种情况下,ElastiCache为出现故障的节点提供替换,然后重新填充该节点。要减小这种可用性影响,请将内存和计算容量分布于更多容量稍小的节点上,而非使用少量大容量节点。

在您希望拥有 35 GB 缓存内存的情况下,可以设置以下任意配置:

  • 11 cache.t2.medium 个节点,每个节点具有 3.22 GB 内存和 2 个线程,共 35.42 GB 和 22 个线程。

  • 6 cache.m4.large 个节点,每个节点具有 6.42 GB 内存和 2 个线程,共 38.52 GB 和 12 个线程。

  • 3 cache.r4.large 个节点,每个节点具有 12.3 GB 内存和 2 个线程,共 36.90 GB 和 6 个线程。

  • 3 cache.m4.xlarge 个节点,每个节点具有 14.28 GB 内存和 4 个线程,共 42.84 GB 和 12 个线程。

比较节点选项
节点类型 内存 (GiB) 核心 每小时成本 * 需要的节点 总内存(以 GiB 为单位) 核心总数 月度成本 †
cache.t2.medium 3.22 2 0.068 美元 11 35.42 22 538.56 美元
cache.m4.large 6.42 2 0.156 美元 6 38.52 12 673.92 美元
cache.m4.xlarge 14.28 4 0.311 美元 3 42.84 12 671.76 美元
cache.m5.xlarge 12.93 4 0.311 美元 3 38.81 12 671.76 美元
缓存 .m6g. 6.85 2 0.147 美元 6 41.1 12 635 美元
cache.r4.large 12.3 2 0.228 美元 3 36.9 6 492.48 美元
cache.r5.large 13.07 2 0.216 美元 3 39.22 6 466.56 美元
缓存 .r6g. 13.07 2 0.205 美元 3 42.12 6 442 美元
* 自 2020 年 10 月 8 日起的每节点小时成本。
30 天(720 小时)的 100% 使用量的月度成本。

这些选项都提供了类似的内存容量,但提供了不同的计算容量和成本。要比较特定选项的成本,请参阅 Amazon ElastiCache 定价

对于运行 Memcached 的集群,每个节点上的部分可用内存都会用于连接开销。有关更多信息,请参阅 Memcached 连接开支

使用多个节点需要跨这些节点分布密钥。每个节点都有自己的终端节点。为了便于管理终端节点,您可以使用 ElastiCache(Auto Discovery 功能)以使客户端程序能够自动标识集群中的所有节点。有关更多信息,请参阅自动识别群集中的节点

在某些情况下,您可能无法确定需要的容量量。如果是这样,对于测试,我们建议从一个cache.m5.large节点。然后使用ElastiCache发布到Amazon CloudWatch。有关 ElastiCache 的 CloudWatch 指标的更多信息,请参阅监控使用CloudWatch指标。对于生产和大型工作负载,R5 节点提供了最佳性能和 RAM 成本价值。

如果您的集群没有所需的命中率,您可以轻松地添加更多的节点以增加您的集群的可用内存总量。

如果集群受到 CPU 的约束,但具有足够的命中率,请使用提供更强计算能力的节点类型来设置新集群。