【问题标题】:How to calculate redis memory used percentage on ElastiCache如何计算 ElastiCache 上的 redis 内存使用百分比
【发布时间】:2016-03-14 11:52:22
【问题描述】:

我想在 ElastiCache 上监控我的 redis 缓存集群。从 AWS/Elasticache 我能够获得 FreeableMemory 和 BytesUsedForCache 等指标。如果我没记错的话,BytesUsedForCache 是集群使用的内存(假设集群中只有一个节点)。我想计算内存使用百分比。任何人都可以帮助我获得 Redis 中内存使用的百分比。

【问题讨论】:

  • 我正在寻找相同的答案。你有什么更新吗??
  • 也在寻找答案!

标签: redis amazon-elasticache


【解决方案1】:

随着另外 18 个 CloudWatch 指标的发布,您现在可以使用 DatabaseMemoryUsagePercentage 并查看 redis 中的内存利用率百分比。

在内存部分here中查看有关该指标的更多信息

【讨论】:

    【解决方案2】:

    通过比较 freeableMemorybytesUsedForCache 指标,您将获得 Elasticache 非集群模式的可用内存(不确定它是否也适用于集群模式)。

    这是我们用来监控缓存的 NRQL:

    SELECT Max(`provider.bytesUsedForCache.Sum`) / (Max(`provider.bytesUsedForCache.Sum`) + Min(`provider.freeableMemory.Sum`)) * 100 FROM DatastoreSample WHERE provider = 'ElastiCacheRedisNode'
    

    这是基于以下几点:

    • FreeableMemory:主机上可用的可用内存量。这源自操作系统报告为可释放的 RAM、缓冲区和缓存。AWS CacheMetrics HostLevel
    • BytesUsedForCache:Redis 为所有目的分配的总字节数,包括数据集、缓冲区等。这是从 Redis INFO 中的 used_memory 统计数据得出的。AWS CacheMetrics Redis

    所以BytesUsedForCache(Redis 使用的内存量)+FreeableMemory(Redis 可以访问的数据量)=Redis 可以使用的总内存。

    【讨论】:

      【解决方案3】:

      我们遇到了同样的问题,因为我们想监控我们的数据消耗的 ElastiCache Redis 内存百分比。 正如您正确编写的那样,您需要查看 BytesUsedForCache - 这是您存储在 Redis 中的数据所消耗的内存量(以字节为单位)。 另外两个重要的数字是

      1. 您用于 ElastiCache 节点的 AWS 实例类型的可用 RAM,请参阅 https://aws.amazon.com/elasticache/pricing/

      2. 参数 reserved-memory-percent 的值(检查您的 ElastiCache 参数组)。这是为“非数据目的”保留的 RAM 百分比,即用于操作系统和任何 AWS 需要在那里运行以管理您的 ElastiCache 节点。默认为 25%。见https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/redis-memory-management.html#redis-memory-management-parameters

      因此,ElastiCache 中数据的总可用内存为

      (100 - reserved-memory-percent) * instance-RAM-size
      

      (在我们的例子中,我们使用实例类型 cache.r5.2xlarge 和 52,82 GB RAM,我们的默认设置为 reserved-memory-percent = 25%。 检查 Redis 中的 info 命令,我发现 maxmemory_human = 39.61 GB,等于 52.82 GB 的 75%。)

      所以已用内存与可用内存的比率为

      BytesUsedForCache / ((100 - reserved-memory-percent) * instance-RAM-size)
      

      【讨论】:

        【解决方案4】:

        您必须根据您选择的节点的大小来计算它。有关详细信息,请参阅这 2 个帖子。

        定价文档为您提供设置的大小。

        https://aws.amazon.com/elasticache/pricing/

        https://forums.aws.amazon.com/thread.jspa?threadID=141154

        【讨论】:

          猜你喜欢
          • 2010-12-09
          • 2022-11-21
          • 1970-01-01
          • 1970-01-01
          • 2022-07-11
          • 2021-04-12
          • 2012-08-20
          • 1970-01-01
          相关资源
          最近更新 更多