Amazon ElastiCache
ElastiCache for Memcached 用户指南 (API 版本 2015-02-02)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

选择节点大小

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

选择 Memcached 节点大小

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 个线程。

比较节点选项

节点类型 内存 核心 小时成本 * 需要的节点 总内存 核心总数 月度成本 †
cache.t2.medium 3.22GB 2 0.068 美元 11 35.42 GB 22 538.56 美元
cache.m4.large 6.42GB 2 0.156 美元 6 38.52 GB 12 673.92 美元
cache.m4.xlarge 14.28GB 4 0.311 美元 3 42.84GB 12 671.76 美元
cache.m5.xlarge 12.93 GB 4 0.311 美元 3 38.81 GB 12 671.76 美元
cache.r4.large 12.3 GB 2 0.228 美元 3 36.9 GB 6 492.48 美元
cache.r5.large 13.07 GB 2 0.216 美元 3 39.22 GB 6 466.56 美元
* 自 2018 年 10 月 22 日起的每节点小时成本。
30 天(720 小时)的 100% 使用量的月度成本。

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

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

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

如果您不确定您需要多少容量,对于测试,建议您从一个 cache.m5.large 节点开始,然后使用发布到 CloudWatch 的 ElastiCache 指标监控内存使用率、CPU 利用率和缓存命中率。有关 ElastiCache 的 CloudWatch 指标的更多信息,请参阅使用 CloudWatch 指标进行监控。对于生产和大型工作负载,R5 节点提供了最佳性能和 RAM 成本价值。

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

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

本页内容: