应监控哪些指标? - Amazon ElastiCache
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

应监控哪些指标?

以下 CloudWatch 指标可以很好地洞察 ElastiCache 性能。在大多数情况下,我们建议您为这些指标设置 CloudWatch 警报,以便在出现性能问题之前采取纠正措施。

CPUUtilization

这是以百分比形式报告的主机级指标。有关更多信息,请参阅 主机级指标

Valkey 和 Redis OSS

对于小于 2 vCPUs 的较小节点类型,请使用该CPUUtilization 指标来监控您的工作负载。

一般而言,我们建议您将阈值设置为可用阈值的 90% CPU。由于 Valkey 和 Redis OSS 都是单线程的,因此实际阈值应按节点总容量的一小部分计算。例如,假设您使用具有两个核心的节点类型。在本例中,的阈值CPUUtilization将为 90/2,即 45%。

您需要根据所使用的缓存节点中的核心数,来确定自己的阈值。如果超过此阈值,并且主要工作负载来自读取请求,则请通过添加只读副本来扩展缓存集群。如果主要工作负载来自写入请求,我们的建议取决于您的集群配置:

  • Valkey 或 RedisOSS(已禁用集群模式)集群:使用更大的缓存实例类型向上扩展。

  • Valkey 或 RedisOSS(已启用集群模式)集群:添加更多分片以将写入工作负载分配到更多主节点。

提示

Valkey 和 Redis OSS 用户可能可以使用该指标CPUUtilization,而不是使用主机级指标EngineCPUUtilization,该指标报告 Valkey 或 Redis 引擎核心的使用百分比。OSS要查看此指标是否在您的节点上可用以及更多信息,请参阅 Valkey 和 Redis OSS 的指标

对于拥有 4 个vCPUs 或更多节点的较大节点类型,您可能需要使用该EngineCPUUtilization指标,该指标报告 Valkey 或 Redis OSS 引擎核心的使用百分比。要了解此指标在您的节点上是否可用并了解更多信息,请参阅 Redis 的指标OSS

Memcached

因为 Memcached 是多线程的,所以此指标可能高达 90%。如果超过此阈值,请使用更大的缓存节点类型来扩展缓存集群,或通过添加更多缓存节点进行横向扩展。

E ngineCPUUtilization

对于拥有 4 个vCPUs 或更多的大型节点类型,您可能需要使用该EngineCPUUtilization指标,该指标报告 Redis OSS 引擎内核的使用百分比。要查看此指标是否在您的节点上可用以及更多信息,请参阅 Valkey 和 Redis OSS 的指标

有关更多信息,请参阅 “OSS使用亚马逊监控 Amazon for Redis ElastiCache 的最佳实践CPUs部分。 CloudWatch

SwapUsage (Valkey 和 RedisOSS)

这是以字节为单位报告的主机级指标。有关更多信息,请参阅 主机级指标

FreeableMemory CloudWatch 指标接近 0(即低于 100MB)或SwapUsage指标大于该FreeableMemory指标表示节点承受内存压力。如果发生这种情况,请参阅以下主题:

移出

这是缓存引擎指标。我们建议您根据应用程序需求,为此指标确定自己的警报阈值。

如果您使用 Memcached 且超过您选择的阈值,请使用更大的节点类型来扩展集群,或通过添加更多节点进行横向扩展。

CurrConnections

这是缓存引擎指标。我们建议您根据应用程序需求,为此指标确定自己的警报阈值。

越来越多的CurrConnections可能表明您的应用程序存在问题;您需要调查应用程序行为才能解决此问题。

有关更多信息,请参阅 “OSS使用亚马逊监控与 Amazon for Redis 的亚马逊 ElastiCache 最佳实践” 中的 “连接” 部分。 CloudWatch

记忆(Valkey 和 RedisOSS)

记忆是 Valkey 和 Redis OSS 的核心方面。了解集群的内存利用率对于避免数据丢失和适应数据集的未来增长是必要的。有关节点内存利用率的统计信息可在INFO命令的内存部分找到。

有关更多信息,请参阅OSS使用 Amazon 监控 Amazon for Redis ElastiCache 的最佳实践中的 “内存” 部分。 CloudWatch

网络

集群网络带宽容量的决定因素之一是您选择的节点类型。有关您的节点网络容量的更多信息,请参阅 Amazon ElastiCache 定价

有关更多信息,请参阅 “OSS使用亚马逊 CloudWatch监控 Amazon for Redis ElastiCache 的最佳实践” 中的 “网络” 部分。

延迟

根据所需的粒度级别,可以通过多种方式测量 for Valkey 实例的响应时间。 ElastiCache 影响 Valkey 整体服务器端响应 ElastiCache 时间的关键阶段是命令预处理、命令执行和命令后处理。

源自 Valkey INFO命令的特定于命令的延迟指标,例如 GetTypeCmdsLatency 和 SetTypeCmdsLatency 指标专门针对执行 Valkey 命令的核心命令逻辑。如果您的用例是确定命令执行时间或每个数据结构的聚合延迟,则这些指标将很有帮助。

延迟指标SuccessfulWriteRequestLatencySuccessfulReadRequestLatency衡量 for Valkey 引擎响应请求所 ElastiCache 花费的总时间。

注意

在 Valkey 客户端上CLIENTREPLY启用了 Valkey 流水线时,可能会出现SuccessfulWriteRequestLatencySuccessfulReadRequestLatency指标的值膨胀。Valkey pipeling 是一种通过一次发出多个命令来提高性能的技术,无需等待对每个命令的响应。为避免值膨胀,我们建议将您的 Valkey 客户端配置为使用流水线命令。CLIENTREPLYOFF

有关更多信息,请参阅 “ ElastiCache 使用亚马逊监控亚马逊最佳实践” 中的 “延迟” 部分 CloudWatch。

复制

可通过 ReplicationBytes 指标了解被复制的数据量。尽管此指标表示复制组上的写入负载,但它不提供有关复制运行状况的信息。要了解此信息,您可以使用 ReplicationLag 指标。

有关更多信息,请参阅OSS使用 Amazon 监控 Amazon for Redis ElastiCache 的最佳实践中的 “复制” 部分。 CloudWatch

流量管理(Valkey 和 RedisOSS)

ElastiCache 当向节点发送的传入命令多于 Valkey 或 Redis 可以处理的命令时,for Redis 会OSS自动管理针对该节点的流量。OSS这样做是为了保持引擎的最佳运行和稳定性。

在节点上主动管理流量时,指标 TrafficManagementActive 将发出为 1 的数据点。这表示节点对于所提供的工作负载而言可能规模过小。如果此指标在很长一段时间内保持为 1,请评估集群以确定是否需要纵向扩展或横向扩展。

有关更多信息,请参阅指标页面上的 TrafficManagementActive 指标。