排查问题

本页面介绍了各种错误场景,并提供了解决这些错误的指导。

复制方案

本部分介绍了集群可能出现的复制问题。

如何监控复制延迟?

Memorystore for Redis Cluster 具有 /cluster/replication/maximum_offset_diff 指标。此指标用于监控主集群中节点的最大复制偏移差(以字节为单位)。

通过保持较低的复制偏移量差值,副本可以更频繁地执行增量同步操作,并且与完全同步操作相比,费用更低。

建议您为 maximum_offset_diff 指标设置阈值。如果超出阈值,Memorystore for Redis Cluster 可以通过提醒通知您。

根据集群的节点类型,我们建议您按如下方式设置阈值:

  • 如果节点类型为 redis-shared-core-nanoredis-standard-smallredis-highmem-mediumredis-highcpu-mediumredis-standard-large,则将阈值设置为小于 64 MB。

  • 如果节点类型为 redis-highmem-xlargeredis-highmem-2xlarge,则将阈值设置为小于 1 GB。

连接错误场景

本部分介绍了实例可能遇到的连接问题。

由防火墙规则导致的连接错误

防火墙规则可能会阻止 Memorystore for Redis Cluster 使用的端口,从而导致连接错误。为实例的两个 Private Service Connect 端点将端口 11000 到 13047 列入许可名单。如需详细了解这些端点,请参阅预留的网络地址

组织政策导致的连接错误

您可能有一项组织政策会阻止您的 Private Service Connect 连接到 Memorystore for Redis Cluster 实例。

如果您的组织政策使用 .restrictPrivateServiceConnectProducer 政策,请将 961333125034 文件夹编号列入许可名单,该文件夹专门用于 Memorystore for Redis Cluster。例如:

name: organizations/Consumer-org-1/policies/compute.restrictPrivateServiceConnectProducer
spec:
    rules:
      - values:
          allowedValues:
          - under:folders/961333125034

如果您的组织政策使用 .disablePrivateServiceConnectCreationForConsumers 政策,则应将 SERVICE_PRODUCERS 列入许可名单。例如:

name: organizations/Consumer-org-1/policies/compute.disablePrivateServiceConnectCreationForConsumers
spec:
    rules:
      - values:
          allowedValues:
          - SERVICE_PRODUCERS

CPU 使用率场景

本部分介绍了集群可能遇到的 CPU 使用率问题。

集群的输出缓冲区空间不足

如果集群的输出缓冲区空间不足,请执行以下操作:

当集群的内存已满且有新的写入时,Memorystore for Redis Cluster 会根据集群的 maxmemory 政策逐出键,为写入腾出空间。allkeys-lru 政策会从整个键集中逐出最近最少使用的 (LRU) 键。

建议您监控集群的 maxmemory 和已用内存。这有助于您了解集群是否已达到预配的集群容量。此外,通过减小 maxmemory 参数的值,您可以为开销留出更多空间。

持久性场景

本部分介绍了集群可能出现的持久性问题。

您的写入流量超出了 Memorystore for Redis Cluster 通过 AOF 重写来压缩和回收空间的能力

如果出现这种情况,则附加日志文件 (AOF) 的增长速度会快于重写进程的处理速度。这会导致磁盘空间耗尽、写入失败,并阻止需要创建副本和完全同步的操作。

Memorystore for Redis Cluster 实现了防护措施来调节写入吞吐量。这可确保 AOF 重写能够跟上持续的高写入工作负载。