如何查看 neo4J 索引的使用次数?

How to check the amount of times a neo4J index was used?

所以我收到了一个过时的模式,它在开始时运行良好,但遇到了一些缩放问题。

其中,索引使用的space引起了我的注意,所以我想知道它们是否被使用,使用了多少次等

除 explaining/profiling 查询之外,还有其他任何我可以用来获取此类信息的信息吗?

您要查找的信息会在指标 monitoring, but index accesses is not one of the available metrics Neo4j provides. (Neo4j supports Prometheus 下,但我不知道 Prometheus 是否也捕获了该信息)

但是您可以通过一些间接的方式获取这些数据。

假设您有一个复制生产的测试服务器,并进行了适当的负载测试,您可以尝试删除索引并查看它如何影响负载测试。 (这种方法有点麻烦,但可能最准确地衡量了数据库变化对性能的影响,但前提是负载测试准确反映了生产使用情况。)

或者,对于更静态的分析,您应该只执行预定义的参数化密码。因此,您可以 Profile/Explain 那些针对不同规模的数据库的 Cypher,并将这些注释与 Cypher 日志(调用端,或使用 Neo4j 指标监控)进行比较,以了解每个调用的频率。