node_gets 和 vnode_gets 在 Riak 中的区别

Difference between node_gets and vnode_gets in Riak

谁能告诉我 Riak 中以下指标的区别: 1. node_gets 与 vnode_gets 2. node_puts vs vnode_puts

根据文档,node_gets 是过去 60 秒内由 Riak 集群中的节点协调的获取数,而 vnode_gets 是特定节点上由 vnodes 协调的获取数。由于 vnode 负责管理 Riak 集群中的分区和数据,我猜测 node_gets 应该是 vnode_gets 的子集。

如果我必须计算不同客户端在集群上的get/put个数,node_gets/vnode_getsnode_puts/vnode_puts 我应该使用吗?

当客户端发送 get 时,它会转到协调获取的单个节点。该节点的 node_gets 统计数据增加。

节点对请求的key进行哈希处理,查找环中的has,得到n_val(默认3)个应该保存该值的vnodes。然后它将请求转发到拥有每个 vnode 的节点。然后更新每个节点的 vnode_gets 统计数据。

所以每个从客户端得到的应该等于 1 node_get 和 n_val vnode_gets.