Valkey 功能

Valkey 是什么?

Valkey 是由 Linux 基金会支持的 Redis OSS 开源演进服务,它支持缓存、排行榜和会话存储等多种应用场景,由 Redis OSS 的长期贡献者和维护者构建。Valkey 得到了 40 多家公司的支持,该项目创建于 2024 年 3 月,一经创建便得到了迅速采用。

为什么要使用适用于 Valkey 的 ElastiCache?

借助适用于 Valkey 的 ElastiCache,您可以享受基于开源技术构建的完全托管式服务带来的好处,同时利用我们提供的安全性、卓越运营、99.99% 的 SLA 可用性和可靠性。您可以进一步优化 ElastiCache Serverless for Valkey 的费用,该服务价格降低了 33%,最小数据存储空间为 100 MB,价格比 ElastiCache Redis OSS 低 90%。在基于适用于 Valkey 的 ElastiCache 自行设计的节点上,每个节点的成本最多可降低 20%。

如何从 ElastiCache for Redis OSS 升级到适用于 Valkey 的 ElastiCache?

只需简单点击几下,您便可在无需停机的情况下,将现有的 ElastiCache for Redis OSS 缓存升级到适用于 Valkey 的 ElastiCache。您可以使用管理控制台、软件开发工具包(SDK)或命令行界面(CLI)开始使用。有关更多信息,请访问 ElastiCache 用户指南。

ElastiCache 是否支持多可用区操作?

是的。ElastiCache 支持您在另一个可用区中创建只读副本。使用 ElastiCache Serverless 时,数据会自动在多个可用区中冗余存储,以实现高可用性。在设计您自有的 ElastiCache 缓存时,如果某个节点出现故障,我们将预置一个新节点。在主节点出现故障的情况下,ElastiCache 会自动将现有只读副本升级为主节点。

如何升级到新引擎版本?

您可通过使用 ElastiCache API 并指定首选引擎版本,快速升级到新的引擎版本。在 ElastiCache 管理控制台中,可选择缓存并选择修改。这一引擎升级过程旨在保留您的现有数据。

是否可以降级到旧引擎版本?

不可以,不支持降级到旧引擎版本。

我能否在 ElastiCache 中使用跨区域副本?

是的。您可以使用 ElastiCache 中的 Global Datastore 功能创建跨区域副本。Global Datastore 提供完全托管、快速、可靠和注重安全的跨区域复制。它支持在一个区域中将数据写入 ElastiCache 集群,并可从其他两个跨区域副本集群读取这些数据,从而实现跨区域的低延迟读取和灾难恢复。

性能

ElastiCache 的性能优势是什么?

ElastiCache 提供增强型 I/O 线程,通过多路复用、表示层卸载等方式,大规模显著提高吞吐量并降低延迟。增强型 I/O 线程通过利用更多内核来处理 I/O 并动态调整工作负载,从而提高了性能。ElastiCache 通过将加密转移到相同的增强型 I/O 线程来提高 TLS 支持型集群的吞吐量。ElastiCache 7.2 版本中采用了增强型 I/O 多路复用,将许多客户端请求合并到一个通道中,并提高了线程效率。

在 ElastiCache for Valkey 7.2 及更高版本中,我们扩展了增强型 I/O 线程功能,使其还能处理表示层逻辑。增强型 I/O 线程不仅可以读取客户端输入,还可以将输入解析为二进制命令格式,然后将其转发到主线程执行,以提高性能。与以前的版本相比,ElastiCache for Valkey 7.2 版本可使吞吐量提高 100%,P99 延迟降低 50%。在 r7g.4xlarge 或更大节点上,您可以实现每个节点每秒超过 100 万次请求(RPS)。

如何监控 Valkey CPU 利用率?

ElastiCache 根据您的缓存部署选择提供两组不同的指标来衡量缓存的 CPU 利用率。使用 ElastiCache Serverless 时,可以通过 ElastiCache 处理单元(ECPU)指标监控 CPU 利用率。您的请求消耗的 ECPU 数量取决于 vCPU 占用时间和传输的数据量。对于每次读取和写入(例如 Valkey GET 和 SET 命令或 Memcached get 和 set 命令),每传输 1KB 的数据需要 1 个 ECPU。与 GET 或 SET 命令相比,某些在内存数据结构上运行的命令会占用更多的 vCPU 时间。ElastiCache 会根据命令占用的 vCPU 时间与 SET 或 GET 命令占用的 vCPU 时间基准进行比较,计算所消耗的 ECPU 数量。如果您的命令需要占用更多的 vCPU 时间,传输的数据也大于 1 个 ECPU 的基准值,那么 ElastiCache 会根据这两个因素中比重较高的因素计算所需的 ECPU。

在设计您的自有集群时,您可以对 EngineCPUUtilization 和 CPUUtilization 进行监控。CPUUtilization 指标衡量实例(节点)的 CPU 利用率,EngineCPUUtilization 指标衡量引擎进程级别的利用率。除了 CPUUtilization 指标外,您还需要 EngineCPUUtilization 指标,因为主引擎进程是单线程的,并且仅使用实例上可用的多个 CPU 内核中的一个 CPU。因此,CPUUtilization 指标无法精确查看进程级别的 CPU 利用率。我们建议您同时使用 CPUUtilization 和 EngineCPUUtilization 指标,以详细了解 Valkey 集群的 CPU 利用率。

这两组指标在所有亚马逊云科技区域均可用,您可以使用 Amazon CloudWatch 或在管理控制台中访问这些指标。

只读副本

以只读副本方式运行节点意味着什么?

只读副本有两个用途:

  • 故障处理
  • 读取缩放

用只读副本运行缓存时,主节点也同时提供写入和读取服务。该副本只提供读取流量,在主节点受损时也可用作热备用。

什么情况下需要考虑使用 Valkey 只读副本?

使用 ElastiCache Serverless 时,只读副本由该服务自动维护。在设计您自己的缓存时,有以下多种情况可以为给定的主节点部署一个或多个只读副本。部署只读副本的常见原因包括:

  • 为处理读取量大的工作负载而扩展至超出单个主节点的计算或 I/O 容量:多余的读取流量可定向到一个或多个只读副本。
  • 在主节点不可用时提供读取流量:如果您的主节点无法接受 I/O 请求(例如,由于备份或定期维护而暂停 I/O),则可以将读取流量定向到只读副本。对于这种使用案例,请注意由于主实例不可用,只读副本中的数据可能处于静态。只读副本也用作热备用以重新启动出现故障的主实例。

数据保护场景:如果主节点发生故障或主节点所在的可用区不可用(这种情况很少出现),则可以将其他可用区中的只读副本升级为新的主节点。

如何连接我的只读副本?

您可以像连接主缓存节点一样连接到只读副本。如果有多个只读副本,各个副本之间的读取流量分配方式则取决于应用程序。以下介绍了更多详细信息:

  • Valkey 或 Redis(已禁用集群模式)OSS 集群,使用单个节点端点进行读取操作。(在 API/CLI 中,上述端点称为读取端点。)
  • Valkey 或 Redis OSS(已启用集群模式)集群,使用集群的配置端点进行所有操作。您仍然可以从单个节点端点读取。(在 API 和 CLI 中,上述端点称为读取端点。)

我可以为给定的主节点创建多少个只读副本?

ElastiCache 支持为给定的主缓存节点创建多达五(5)个只读副本。

如果执行失效转移,只读副本会怎样?

如果执行失效转移,所有关联和可用的只读副本在失效转移完成后将自动恢复复制(获取最新升级的只读副本的更新)。

ElastiCache 如何使我的只读副本与主节点保持同步?

对主缓存节点的更新将自动复制到任何关联的只读副本。不过,使用 Valkey 或 Redis OSS 异步复制技术,只读副本可能会因各种原因滞后于其主缓存节点。常见的原因包括:

  • 写入主缓存节点的 I/O 量超过了向只读副本应用更改的速率。
  • 主缓存节点和只读副本之间发生网络分区或延迟。

只读副本会受到 Valkey 或 Redis OSS 复制的优缺点的影响。如果您使用的是只读副本,则应该意识到只读副本与其主缓存节点之间存在发生滞后或者“不一致”的可能性。 ElastiCache 会发布一个指标来帮助您了解不一致之处。

只读副本的费用是多少? 如何计算账单周期?

只读副本按标准缓存节点进行计费,且费率相同。与标准缓存节点一样,只读副本的每缓存节点小时费率由只读副本的缓存节点类别决定:请访问 ElastiCache 定价页面了解最新定价。在主缓存节点和只读副本之间复制数据不会产生数据传输费用。只读副本的账单周期从成功创建只读副本后开始(当列出的状态为有效时)。只读副本将继续按标准 ElastiCache 缓存节点小时费率计费,直到您发布命令将其删除为止。

执行失效转移时会发生什么情况?这种情况会持续多长时间?

ElastiCache 支持启动失效转移,便于您尽快恢复缓存操作。执行失效转移时,ElastiCache 会调转缓存节点 DNS 记录目标,将目标设为只读副本,只读副本则被升级为新的主节点。我们鼓励您遵循最佳做法,在应用程序层实施缓存节点连接重试。一般来说,从开始到结束,以下第一至第五步在六分钟内即能完成。

以下是按发生顺序排列的自动失效转移事件:

  1. 复制组消息:为节点组 <node-group-id> 调用的测试失效转移 API
  2. 缓存集群消息:从主节点 <primary-node-id> 到副本节点 <node-id> 的失效转移已完成
  3. 复制组消息:从主节点 <primary-node-id> 到副本节点 <node-id> 的失效转移已完成
  4. 缓存集群消息:正在恢复缓存节点 <node-id>
  5. 缓存集群消息:缓存节点 <node-id> 恢复已完成

我可以在另一个区域创建只读副本作为主节点吗?

不可以,只读副本只能在与主缓存节点相同的区域中的相同或不同的可用区中进行配置。 但是,您可以使用 Global Datastore 在亚马逊云科技区域间进行完全托管、快速、可靠和注重安全的复制。使用此功能,您可以为 ElastiCache 创建跨区域只读副本集群,以实现跨亚马逊云科技区域的低延迟读取和灾难恢复。

我可以为集群环境添加和移除只读副本节点吗?

是的。您可以在集群环境中的一个或多个分片中添加或移除只读副本。在此操作期间,集群继续保持在线状态并支持传入 I/O。

多可用区

什么是 ElastiCache 的多可用区?

多可用区功能用于支持您在设计自己的 ElastiCache 缓存时,以可用性更高的配置来运行缓存。所有 ElastiCache Serverless 缓存都自动以多可用区配置进行运行。一个 ElastiCache 复制组包含一个主节点和多达五个只读副本。启用了多可用区后,则每个主节点至少需要一个副本。在某些类型的计划维护期间,或者在 ElastiCache 节点发生故障或可用区出现故障的情况下(这种情况很少出现),ElastiCache 会自动检测主节点的故障,然后选择一个只读副本,并将其升级为新的主节点。ElastiCache 还会传播升级后的只读副本的 DNS 更改,因此如果您的应用程序正在向主节点端点写入数据,则无需更改端点。

使用多可用区有什么好处?应在什么情况下使用?

在多可用区模式下运行 ElastiCache 的主要好处是提高了可用性并减少了管理需求。在多可用区配置中运行 ElastiCache 时,您的缓存有资格获得 99.99% 的 SLA 可用性。如果 ElastiCache 主节点发生故障,则仅有完成自动失效转移所需的时间会对主节点的读取和写入能力产生影响。启用多可用区后,ElastiCache 节点失效转移自动进行,无需管理。

多可用区的工作原理是什么?

如果您使用 ElastiCache,并且具有包含一个主节点和一个或多个只读副本的复制组,则可以使用多可用区。如果主节点出现故障,ElastiCache 将自动检测故障,从可用的只读副本中选择一个节点,将其升级为新的主节点。ElastiCache 将传播升级后副本的 DNS 更改,以便您的应用程序可以继续向主节点端点写入数据。ElastiCache 还将启动新节点,以替换故障主节点同一可用区中升级后的只读副本。如果主节点是由于可用区临时中断而出现故障,则新副本将在该可用区恢复后启动。

副本和主节点能否位于同一可用区?

可以。请注意,将主节点和副本置于同一可用区并不能使 ElastiCache 复制组增强对可用区中断的弹性。

哪些事件会导致 ElastiCache 执行失效转移功能,转移到只读副本?

在出现以下任何情况时,ElastiCache 将执行失效转移功能,转移到只读副本:

  • 主节点可用区的可用性受损
  • 主节点的网络连接受损
  • 主节点的计算设备出现故障

如果主节点出现故障,哪个只读副本将升级为主节点?

如果有多个只读副本,则会升级与主节点异步复制滞后较小的只读副本。

执行自动失效转移时,我是否会收到提醒?

是的,ElastiCache 将创建事件,通知您进行了自动失效转移。您可以使用 DescribeEvents API 返回与 ElastiCache 节点相关的事件信息,或者选择 ElastiCache 管理控制台中的“事件”部分。

执行失效转移后,我的主节点现在与我的其他亚马逊云科技资源(例如 Amazon EC2 实例)位于不同的可用区。我是否需要考虑延迟?

可用区旨在为同一区域中的其他可用区提供低延迟网络连接。您应考虑在构建应用程序和其他亚马逊云科技资源时,在多个可用区中配置冗余,使您的应用程序具有弹性,从而在可用区出现中断情况时易于恢复。

在哪里可以获得有关多可用区的更多信息?

有关多可用区的更多信息,请参阅 ElastiCache 文档。

备份和还原

什么是备份和还原?

备份和还原是一项允许您创建 ElastiCache 缓存快照的功能。ElastiCache 会存储快照,供用户随后使用来恢复缓存。目前,适用于 Valkey 的 ElastiCache、ElastiCache for Redis OSS 和 Serverless 均适用这项功能。

为什么需要快照?

发生由节点故障(以及不太可能出现的硬件故障)引起的数据丢失时创建快照非常有用。使用备份的另一个常见原因是用于存档。快照存储在 Amazon S3 中。

我能否将 ElastiCache 快照导出到我拥有的 Amazon S3 存储桶中?

可以,您可以将 ElastiCache 快照导出至与缓存位于同一区域的授权 S3 存储桶中。

我有多个使用 ElastiCache 的亚马逊云科技账户。我能否使用一个账户中的 ElastiCache 快照来热启动另一个账户中的 ElastiCache 集群?

可以。您必须先将快照复制到您在同一区域选择的授权 S3 存储桶中,然后向另一个账户授予跨账户存储桶权限。

使用备份和还原的费用是多少?

ElastiCache 为每个有效的 ElastiCache 缓存免费提供一个快照的存储空间。额外的存储空间将根据快照使用的空间收费,每月 ¥0.53/GB(中国所有区域价格相同)。使用快照产生的数据传输不收费。

如果删除了 ElastiCache 缓存,快照会发生什么变化?

删除 ElastiCache 缓存时,会保留手动快照。您还可以选择在删除缓存之前创建最终快照。但不会保留自动缓存快照。

增强型引擎

ElastiCache 中的引擎与 Valkey 或 Redis OSS 有何不同?

ElastiCache 中的引擎与 Valkey 和 Redis OSS 完全兼容,同时还具有可提高性能、稳健性和稳定性的增强功能。部分增强功能包括:

  • 更多可用内存:现在,您可以安全地为应用程序分配更多内存,而不会在进行同步和快照期间面临交换空间使用量增加的风险。
  • 同步功能得到优化:在高负载情况下以及从网络中断中恢复时,同步功能更加稳健、强大。此外,同步速度更快,因为主节点和副本都不再使用磁盘进行同步操作。
  • 失效转移更顺畅:执行失效转移时,由于副本不再刷新数据以与主节点进行完全重新同步,因此您的分片可以更快地恢复。
  • TLS 卸载和 IO 多路复用:ElastiCache 旨在通过在专用线程上处理某些与网络相关进程,更好地利用可用的 CPU 资源。

使用 ElastiCache 的增强型引擎需要更改应用程序代码吗?

增强型引擎与 Valkey 或 Redis OSS 完全兼容,因此您无需对应用程序代码进行任何更改即可享受其增强的稳健性和稳定性。

使用增强型引擎的费用是多少?

使用增强型引擎无需任何额外费用。

加密

如何使用传输中加密、静态加密以及 Valkey 或 Redis OSS AUTH?

在创建 ElastiCache 缓存时,您可以选择传输中加密、静态加密、Valkey AUTH 和基于角色的访问控制(RBAC)等功能。如果启用了传输中加密,则可以选择使用 AUTH 或 RBAC 以增强安全性和访问控制。

ElastiCache 的静态加密有什么作用?

静态加密提供了防止未经授权访问数据的机制。启用该功能后,会对以下内容进行加密:

  • 处于同步、备份和交换空间操作期间的磁盘
  • 存储在 Amazon S3 中的备份

ElastiCache 提供默认(服务托管)静态加密,并支持使用 KMS 中您自有的由客户托管的对称 Amazon KMS 密钥。

ElastiCache 的传输中加密功能有什么作用?

传输中加密功能有助于加密客户端与 ElastiCache 之间以及服务器(主服务器和只读副本)之间的通信。阅读有关 ElastiCache 传输中加密功能的更多信息。

续订 TLS 证书需要进行什么操作吗?

不用,ElastiCache 会在后台负责管理证书到期和续订事宜。证书的持续维护工作无需人工操作。

使用加密功能会有额外费用吗?

没有,使用加密功能不会产生额外费用。

Global Datastore

什么是 ElastiCache Global Datastore?

ElastiCache 的 Global Datastore 功能可提供完全托管、快速、可靠和注重安全的跨区域复制。借助 Global Datastore,您可以在一个区域中将数据写入缓存中,并支持从其他两个跨区域副本集群读取这些数据,从而实现跨区域的低延迟读取和灾难恢复。

Global Datastore 专为覆盖全球的实时应用程序而设计,通常在一秒内就能完成跨区域数据复制,该服务在更接近最终用户的地理位置进行读取操作,提高了应用程序的响应能力。如果遇到很少出现的区域性能下降情况,可以将另一正常运行的跨区域副本缓存升级为具有完全读取/写如功能的主缓存。启动后,升级通常会在一分钟内完成,确保您的应用程序保持可用状态。

支持 Global Datastore 的引擎版本有哪些?

ElastiCache for Valkey 7.2 和 ElastiCache for Redis OSS 5.0.6 及更高版本均支持 Global Datastore 功能。

我可以复制到多少个亚马逊云科技区域?

在 Global Datastore 中,您最多可以复制到两个辅助区域。辅助区域的缓存可用于实现低延迟本地读取,并在区域性能下降(这种情况很少出现)时用于执行灾难恢复。

如何创建 Global Datastore?

您可以通过使用现有缓存或创建用作主缓存的新缓存来设置 Global Datastore 功能。您只需在 ElastiCache 管理控制台中执行几个步骤,或者下载最新的亚马逊云科技软件开发工具包(SDK)或 Amazon CLI,即可创建 Global Datastore。CloudFormation 支持 Global Datastore。

当主集群(区域)性能下降时,ElastiCache 是否会自动失效转移到 Global Datastore,以升级辅助集群?

不会,如果主集群(区域)性能下降,ElastiCache 不会自动升级辅助集群为主集群。您可以手动将辅助集群升级为主集群来启动失效转移。辅助集群的失效转移和升级通常在一分钟内即可完成。

Global Datastore 的费用是多少?

ElastiCache 不对使用 Global Datastore 收取任何额外费用。您只需为 Global Datastore 中的主缓存和辅助缓存以及跨区域数据传输流量付费。

Global Datastore 的恢复点目标(RPO)和恢复时间目标(RTO)是多少?

ElastiCache 不为 RPO 和 RTO 提供 SLA。RPO 根据区域间的复制延迟而异,而且区域间的网络延迟和跨区域网络流量拥堵也是影响 RPO 的因素。Global Datastore 的 RPO 通常低于一秒,因此主区域中写入的数据可在一秒内提供给辅助区域使用。Global Datastore 的 RTO 通常低于一分钟。启动向辅助集群的失效转移后,ElastiCache 通常会在一分钟内将辅助集群升级至具有完全读写功能。

其他 Redis OSS/Memcached 常见问题

问:节点替换需要多长时间?

替换通常在几分钟内即可完成。对于某些实例配置和流量模式,替换可能需要较长时间。例如,Redis OSS 主节点可能没有足够的可用内存,因此可能会出现较高的写入流量。当某个空副本与该主节点同步时,主节点会尝试在处理传入的写入流量的同时进行副本同步,因此可能导致内存不足。在这种情况下,主节点会断开与副本的连接,并重新启动同步进程。可能需要经过几次尝试,副本才能同步成功。如果传入的写入流量始终较高,副本也有可能一直无法同步。

Memcached 节点在替换期间无需同步,而且无论节点规模如何,始终都能快速完成替换。

问:节点替换对应用程序有何影响?

对于 Redis OSS 节点,替换过程旨在尽量保留现有数据,同时需要 Redis OSS 复制成功。对于单节点 Redis OSS 集群,ElastiCache 会动态启动一个副本,复制数据,然后失效转移到该副本。对于由多个节点组成的复制组,ElastiCache 会替换现有副本,并将数据从主节点同步到新副本。如果启用多可用区或集群模式,替换主副本将会触发故障转移至只读副本的操作。如果禁用了多可用区,ElastiCache 将替换主副本,然后同步只读副本中的数据。在此期间,主副本将不可用。

对于 Memcached 节点,替换过程中会产生空的新节点,并会终止当前节点。在切换过程中,新节点将在短时间内不可用。完成切换后,您的应用程序可能会出现性能下降的情况,而空的新节点会通过缓存数据进行填充。

问:为了获得顺畅的替换体验并最大限度减少数据丢失,应遵循哪些最佳实践?

对于 Redis OSS 节点,替换过程旨在尽量保留现有数据,同时需要 Redis OSS 复制成功。我们会尝试从同一集群中一次性替换刚好足够的节点,以确保该集群的稳定性。您可以将主副本和只读副本预置在不同的可用区内。这样,在替换某个节点时,将通过另一个可用区内的对等节点同步数据。对于单节点 Redis OSS 集群,我们建议您为 Redis OSS 提供足够的内存,如此处所述。对于具有多个节点的 Redis OSS 复制组,我们还建议在传入写入流量较低的时段安排替换。

对于 Memcached 节点,将维护时段安排在传入写入流量较低的时段,对应用程序进行故障转移测试,并使用 ElastiCache 提供的“更智能”的客户端。数据丢失无法避免,因为 Memcached 的所有数据都存储在内存中。

问:如何自行管理节点替换?

我们建议您允许 ElastiCache 在计划维护时段管理节点替换。创建 ElastiCache 集群时,您可以通过每周维护时段指定首选替换时间。之后您可以使用 ModifyCacheCluster API 或在 ElastiCache 管理控制台中单击“修改”,将维护时段改为更方便的时段。

如果您选择自行管理替换,可以根据您的使用案例和集群配置采取各种操作:

有关所有这些选项的更多说明,请参阅计划替换节点时可以采取的操作页面。

对于 Memcached,您只需删除集群再重新创建即可。替换后,实例将不再具有与之相关联的计划事件。

问:为什么要进行这些节点替换?

只有在对这些节点进行替换之后,才能将强制性的软件更新应用到底层主机。此类更新有助于增强安全性、可靠性和操作性能。

问:这些替换是否会同时影响我在多个可用区中的节点?

我们可以根据集群配置在同一集群中替换多个节点,同时确保集群的稳定性。对于 Redis OSS 分片集群,我们尽量不在同一分片中同时替换多个节点。此外,我们还尽量不在跨所有分片的集群中替换大多数主节点。

对于非分片集群,我们尽量在维护时段将节点替换的时间错开,以尽可能地保持集群的稳定性。

问:可以同时替换来自不同区域的不同集群中的节点吗?

可以。如果您为这些集群配置了相同的维护时段,则可以同时对这些节点进行替换。

问:Amazon ElastiCache for Redis OSS 有哪些性能优势?

ElastiCache for Redis OSS 提供增强型 I/O 线程,通过多路复用、表示层卸载等方式,大规模显著提高吞吐量并降低延迟。通过利用更多内核来处理 I/O 并动态调整工作负载,增强型 I/O 线程提高了性能。ElastiCache for Redis OSS 通过将加密转移到相同的增强型 I/O 线程来提高 TLS 支持型集群的吞吐量。ElastiCache for Redis OSS 7.0 版本中引入了增强型 I/O 多路复用,将许多客户端请求合并到一个通道中,并提高了主 Redis OSS 线程效率。在 ElastiCache for Redis OSS 7.1 及更高版本中,我们扩展了增强型 I/O 线程功能,使其还能处理表示层逻辑(请参见博客)。增强型 I/O 线程不仅可以读取客户端输入,还可以将输入解析为 Redis OSS 二进制命令格式,然后将其转发到主线程执行,以提高性能。使用 ElastiCache for Redis OSS 7.1 版本,与 ElastiCache for Redis OSS 7.0 相比,吞吐量可以提高高达 100%,P99 延迟降低 50%。在 r7g.4xlarge 或更大节点上,您可以实现每个节点每秒超过 100 万次请求(RPS)。

问:如何监控 Redis 的 CPU 利用率?

Amazon ElastiCache 提供了两个指标来衡量 Amazon ElastiCache for Redis OSS 工作负载的 CPU 利用率 – EngineCPUUtilization 和 CPUUtilization。CPUUtilization 指标衡量实例(节点)的 CPU 利用率,EngineCPUUtilization 指标衡量 Redis OSS 进程级别的利用率。除了 CPUUtilization 指标外,您还需要 EngineCPUUtilization 指标,因为主 Redis OSS 进程是单线程的,并且仅使用实例上可用的多个 CPU 内核中的一个 CPU。因此,CPUUtilization 指标无法精确查看 Redis OSS 进程级别的 CPU 利用率。

我们建议您同时使用 CPUUtilization 和 EngineCPUUtilization 指标,以详细了解 Redis OSS 集群的 CPU 利用率。这两个指标在所有亚马逊云科技区域都可用,您可以使用 CloudWatch 或通过亚马逊云科技管理控制台访问这些指标。

此外,我们建议您访问此页面以了解性能监控的有用指标。

关闭
1010 0766
由光环新网运营的
北京区域
1010 0966
由西云数据运营的
宁夏区域
关闭
由光环新网运营的
北京区域
由西云数据运营的
宁夏区域