6

这里是zookeeper监控的输出

    zk_version  3.4.6-1569965, built on 02/20/2014 09:09 GMT
    zk_avg_latency  0
    zk_max_latency  0
    zk_min_latency  0
    zk_packets_received 3
    zk_packets_sent 2
    zk_num_alive_connections    1
    zk_outstanding_requests 0
    zk_server_state follower
    zk_znode_count  16349
    zk_watch_count  0
    zk_ephemerals_count 6
    zk_approximate_data_size    19502850
    zk_open_file_descriptor_count   30
    zk_max_file_descriptor_count    4096

我想了解 zk_znode_count 指的是什么,并且我想保持 (zk_znode_count & zk_approximate_data_size) 值最小以避免与关注者的同步问题。

有人可以对这些价值观提出一些见解吗

4

1 回答 1

4

zk_znode_count是存储在 ZooKeeper ensemble 中的 znode 总数。每次客户端创建一个新的 znode 时,这个计数器都会增加。每次客户端删除一个新的 znode(显式地或通过在断开连接后删除其临时 znode)时,此计数器将递减。

zk_approximate_data_size是存储在 ZooKeeper 集成中的所有 znode 的近似内存消耗。它被称为近似值,因为它可能无法考虑内部数据结构中的一些开销因素。(当前实现是到 znode 数据和一些元数据的 JavaConcurrentHashMap映射String路径。)对于大规模使用,最好监控 zk_approximate_data_size 并确保它不会太接近耗尽分配的 JVM 堆大小。

于 2017-01-23T22:59:41.650 回答