小编Rab*_*boo的帖子

couchbase 元数据开销警告。62% 的 RAM 被密钥和元数据占用

好吧,因为我没有 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 可用空间,这对我有什么帮助?

请帮我澄清这些数字,并建议我是否需要采取任何行动。

nosql couchbase

4
推荐指数
1
解决办法
2303
查看次数

厨师cookbook lwrp,最简单的方法使用new_resource.updated_by_last_action(true)

我正在为厨师10编写一个LWRP.当该资源在其他配方中运行时,如果某些内容发生了变化,则应将其标记为"updated_by_last_action".但如果没有任何改变.updated_by_last_action应为false.

例如,我有厨师文档http://docs.opscode.com/lwrp_custom_provider.html#updated-by-last-action.该示例将资源模板包装在变量中以测试它是否已更改,然后设置updated_by_last_action状态.所以我的代码看起来应该是这样的

f = file new_resource.filename do
xxx
end
new_resource.updated_by_last_action(f.updated_by_last_action?)

t = template new_resource.templatename do
xxx
end
new_resource.updated_by_last_action(t.updated_by_last_action?)

m mount new_resource.mountpoint do
xxx
end
new_resource.updated_by_last_action(m.updated_by_last_action?)
Run Code Online (Sandbox Code Playgroud)

但是如果一个提供者变得更大并且使用了很多资源,比如模板,文件,目录,mount等等.应该将所有这些资源包装在像示例这样的变量中,以找出资源是否已经更新,以便进一步发送此提供程序已更新的状态.

我想知道是否有一种更简单,更清晰的方式来运行new_resource.updated_by_last_action(true)其他,然后将所有资源包装在变量中.因为如果我在每次厨师运行时将LWRP标记为更新之前放入new_resource.updated_by_last_action(true)内部,这不是最佳选择.actionend

ruby chef-infra lwrp

3
推荐指数
1
解决办法
2082
查看次数

标签 统计

chef-infra ×1

couchbase ×1

lwrp ×1

nosql ×1

ruby ×1