如何解决如何从Redis信息中解释“ evicted_keys”
我们将ElastiCache用于Redis,并对其Evictions
指标感到困惑。
我很好奇Redis Info的evicted_keys
指标上的单位是什么? ElastiCache文档说这是一个计数:https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheMetrics.Redis.html,但是对于我们的应用程序,我们观察到“逐出”指标(从evicted_keys
衍生)上下波动,表明它不是一个计数。我希望计数永远不会减少,因为我们不能“撤离”一把钥匙。我想知道evicted_keys
是否真的是一个速率(例如逐出/秒),它可以解释为什么它会波动。
在此先感谢您的答复!
解决方法
来自INFO
command:
evicted_keys
:由于maxmemory
个限制而被收回的密钥数
要了解有关迁离的更多信息,请参见Using Redis as an LRU cache - Eviction policies
服务器启动时,此计数器为零,并且仅当您发出CONFIG RESETSTAT
command时才会重置。但是,在ElastiCache上,此命令不可用。
也就是说,ElastiCache通过计算数据点之间的差异从该值得出度量标准。
Redis evicted_keys 0 5 12 18 22 ....
CloudWatch Evictions 0 5 7 6 4 ....
这是CloudWatch指标中的常用模式。这样,您可以在需要累积值的情况下使用SUM,而且还可以轻松检测速率变化或峰值。
例如,如果您希望在一分钟内驱逐超过10,000次,则要发出警报。如果ElastiCache将Redis的累积值直接存储为度量标准,将很难实现。
此外,通过仅在该时间段内将度量标准作为撤出的密钥来提交,就可以防止服务器重置或值溢出造成数据失真。尽管Redis INFO
的值会恢复为零,但在ElastiCache上,您仍然可以获取该时间段的值,并且仍然可以在任何时间段进行求和。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。