好吧,因为我没有 10 次重复,所以我无法发布图片,但我会尝试用文字解释。
我有一个带有 4 个存储桶的 7 节点 Couchbase(社区)集群。最近,我收到了其中一个桶的元数据开销警告的垃圾邮件(不断)。警告弹出,如下所示:
元数据开销警告。分配给节点“xxx”上的桶 XXXX 的 RAM 的 62% 以上被键和元数据占用。
而且我读到这通常表明桶需要更多的内存。但我不认为那是我的问题。我猜我只是有很多元数据。当我查看Data Buckets选项卡时,这个 Bucket 有RAM/Quota Usage 64GB/75GB。所以对我来说,看起来大约有 11GB(75-64GB)可用。

如果我查看 Bucket Analytics VBUCKET RESOURCES指标,我会发现RAM中有59GB 用户数据,RAM 中有46GB 元数据。所以据我所知,在一个总共有 75GB 的存储桶上应该有 105GB 的 RAM!?!
但这对我来说并没有那么明显,这里有一些我不明白的东西。是的,75GB 中的 46GB 大约是 62%。但是,应该在 RAM 中的 59GB 用户数据呢?

编辑:典型的文档可能如下所示:
ID=1:CAESEA---rldZ5PhdV4msSdEchI
CONTENT=z2TjZEzkZ84=
Run Code Online (Sandbox Code Playgroud)
还有我的问题。我该怎么办?这种情况在我的情况下是否可以接受。如果是这样,我是否更改该警告的阈值(我不建议阅读该阈值,因为出于某种原因将警告设置为 50%)。
或者我分配更多的内存?如果是这样,如果已经有 11GB 可用空间,这对我有什么帮助?
请帮我澄清这些数字,并建议我是否需要采取任何行动。
首先,元数据使用大量内存不一定有问题——这只是意味着可用于缓存实际文档的 RAM 较少。如果您的应用程序运行良好,那么它可能适合您的用例。但是,话虽如此,让我尝试解决您的问题,以及如果您确实想改进哪些方面需要改变:
如果我查看 Bucket Analytics VBUCKET RESOURCES 指标,我会发现 RAM 中有 59GB 用户数据,RAM 中有 46GB 元数据。所以据我所知,在一个总共有 75GB 的存储桶上应该有 105GB 的 RAM!?!
IIRC“RAM 中的用户数据”包括“RAM 中的元数据” - 因此您总共使用了 59 GB 数据,其中 46 GB 是元数据。
还有我的问题。我该怎么办?这种情况在我的情况下是否可以接受。如果是这样,我是否更改该警告的阈值(我不建议阅读该阈值,因为出于某种原因将警告设置为 50%)。或者我分配更多的内存?如果是这样,如果已经有 11GB 可用空间,这对我有什么帮助?
所以基本上你要存储很多非常小的文档,所以与实际文档大小相比,每个文档的元数据开销(~48 字节加上密钥的长度)非常高。
11GB free主要是bucket quota和high watermark的差。
这里有几个选项可以改善这一点:
| 归档时间: |
|
| 查看次数: |
2303 次 |
| 最近记录: |