好的,因为我没有10次复制我无法发布图片,但我会尝试用文字解释。
我有一个带有4个桶的7节点Couchbase(社区)群集。 最近我被其中一个桶的元数据开销警告(不断)收到垃圾邮件。 弹出警告,如下所示:
元数据开销警告。分配给节点“xxx”上的存储桶XXXX的超过62%的RAM由密钥和元数据占用。
而且我已经读过,这通常表明铲斗需要更多的撞锤。但对我来说,这不是问题。我只想拥有大量的元数据。 当我查看数据存储区标签时,此存储桶具有 RAM /配额使用 64GB / 75GB 。所以对我来说,它看起来有大约11GB(75-64GB)可用。
如果我查看Bucket Analytics VBUCKET资源指标,我发现RAM中有 59GB 用户数据, 46GB < RAM中的/ em> 元数据。所以根据我的理解,在一个总共75GB的存储桶中应该有105GB的RAM!?!
但这并没有让我如此清楚,这里有一些我不明白的东西。 是的46GB的46GB是62%左右。但是据称在RAM中的59GB用户数据呢?
修改的: 典型文档可能如下所示:
ID=1:CAESEA---rldZ5PhdV4msSdEchI
CONTENT=z2TjZEzkZ84=
我的问题。我该怎么办?在我的情况下情况是否可以接受。如果是,我是否要更改该警告的阈值(由于某种原因警告设置为50%,因此不建议我阅读此警告。)
或者我分配更多内存?如果是这样的话,如果已经有11GB免费,这对我有什么帮助?
请帮我澄清这些数字,并建议我是否需要采取任何行动。
答案 0 :(得分:4)
首先,元数据使用的内存百分比并不一定存在问题 - 这只意味着可用于缓存实际文档的内存较少。如果您的应用程序运行良好,那么对您的用例可能没问题。但是,我已经说过,让我尝试解决你的问题,如果你想要改进的话,该怎么改变:
如果我查看Bucket Analytics的VBUCKET资源指标,我发现RAM中有59GB用户数据,RAM中有46GB元数据。所以根据我的理解,在一个总共75GB的存储桶中应该有105GB的RAM!?!
IIRC&#34; RAM中的用户数据&#34;是包含的&#34; RAM中的元数据&#34; - 所以你总共使用了59 GB的数据,其中46 GB是元数据。
我的问题。我该怎么办?在我的情况下情况是否可以接受。如果是,我是否更改了该警告的阈值(由于某种原因警告设置为50%,因此不建议我阅读此警告)。 或者我分配更多的RAM?如果是这样的话,如果已经有11GB免费,这对我有什么帮助?
所以基本上你要存储大量非常小的文档,因此每个文档的元数据开销(~48个字节加上密钥的长度)与实际文档大小相比非常高。
11GB免费主要由桶配额和高水印之间的差异组成。
以下是一些改进措施: