gpt4 book ai didi

Redis: "mem_fragmentation_ratio"对性能有何影响?

转载 作者:IT王子 更新时间:2023-10-29 05:57:32 26 4
gpt4 key购买 nike

这是我要问你的问题:“mem_fragmentation_rateo”如何影响 Redis 的性能?

我在 stackoverflow 和 redis.io 中做了一些调查,但我找不到关于我的问题的明确解释。

这本电子书也解释了 https://www.datadoghq.com/wp-content/uploads/2013/09/Understanding-the-Top-5-Redis-Performance-Metrics.pdf在第 16 页,“mem_fragmentation_ratio 指标给出了操作系统所使用的内存 (used_memory_rss) 与 Redis 分配的内存 (used_memory) 的比率。”

因此,如 http://redis.io/commands/INFO 中所述, "理想情况下,used_memory_rss的值应该只比used_memory高一点点。当rss >> used时,差异大说明存在内存碎片(内部或外部),可以通过检查mem_fragmentation_ratio来评估。当used >> rss时,它意味着部分 Redis 内存已被操作系统换出:预计会有一些显着的延迟。

因此,当我们的“used_memory”高于“used_memory_rss”时,对 Redis 节点的负面影响是显而易见的,因为这意味着 Redis 开始使用 Swap,这显然不利于性能。

但是,“used_memory_rss”高于“used_memory”的情况会怎样?这可能意味着我们的内存分配器没有“收回”过去分配给 Redis 的部分内存,并且 Redis 不再使用(可能是由于临时峰值)。但是,我不明白这会对 Redis 性能产生怎样的负面影响。为什么我在互联网上阅读了很多人们如此关注高“mem_fragmentation_ratio”的帖子?同样在我之前提到的电子书中,他们建议将“mem_fragmentation_rateo”设置在 1 到 1.5 之间。

在这种情况下,当我们有更高的“used_memory_rss”时,Redis 真的会受到影响吗?如果“mem_fragmentation_ratio”较高,我们是否应该期望 Redis 性能下降?

我决定问你这个问题,因为我真的认为,如果“mem_fragmentation_ratio”很高,我们“只能”在操作系统中遇到问题,“可能”会遇到内存不足的问题:操作系统不会t 为新进程分配新内存。无论如何,它不应该直接影响 Redis(除非操作系统开始变慢等)。

你能解开我的疑惑吗?您是否遇到过高“mem_fragmentation_ratio”并开始注意到 Redis 性能下降的经历?

谢谢

最佳答案

我不是 Redis 高手,但根据我的经验和阅读的文档,fragmentation_ratio 不会直接影响性能。但是会增加内存消耗。当您的应用程序添加新数据并且该数据没有填充内存中的空闲片段时(当新数据束比那些片段大时),该内存保持空闲。因此,您可能会比预期更快地耗尽内存。

关于Redis: "mem_fragmentation_ratio"对性能有何影响?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38421604/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com