我目前正在手动计算 Neo4j 数据库中的内存使用情况,方法是添加数据、运行
CALL db.checkpoint()
、关闭数据库并检查 data/databases/neo4j
目录中的数据库文件。然后我手动计算文件大小。然而,这个过程非常慢,尤其是当我需要多次测量内存使用情况时。
我遇到了这个问题,其中提到节点的存储大小是 14 字节,关系是 33 字节,属性是 41 字节。
有没有一种更有效的方法可以根据节点、关系和属性的数量来计算 Neo4j 中的内存使用情况,而无需依赖这种手动方法?我可以使用提到的字节大小作为快速计算的估计吗?
您可以通过以下过程获取存储大小指标:
将
<mydb>
替换为您的数据库名称:
CALL dbms.queryJmx('neo4j.metrics:name=neo4j.database.<mydb>.store.size.total')
╒══════════════════════════════════════════════════════════════╤══════════════════════════════════════════════════════╤══════════════════════════════════════════════════════════════════════╕
│name │description │attributes │
╞══════════════════════════════════════════════════════════════╪══════════════════════════════════════════════════════╪══════════════════════════════════════════════════════════════════════╡
│"neo4j.metrics:name=neo4j.database.docslogin.store.size.total"│"Information on the management interface of the MBean"│{Value: {description: "Attribute exposed for management", value: 15430│
│ │ │044}, Number: {description: "Attribute exposed for management", value:│
│ │ │ 15430044}} │
└──────────────────────────────────────────────────────────────┴──────────────────────────────────────────────────────┴──────────────────────────────────────────────────────────────────────┘