Neo4j社区版4.3.3如何查看服务器运行中Cypher查询及查询历史
Neo4j 4.3.3社区版查询运行中任务与历史记录方案
查看当前正在运行的Cypher查询
你可以通过cypher-shell命令行工具连接到你的Neo4j实例(连接时需使用你的Neo4j认证信息,默认用户名为neo4j),执行如下内置过程即可列出所有活跃查询:
CALL dbms.listQueries();
返回结果会包含查询ID、具体Cypher语句、启动时间、累计运行时长、关联用户名等核心信息。如果需要终止你提到的GraphSAGE训练查询,可拿到对应queryId后执行:
CALL dbms.killQuery('你的查询ID');
查看历史查询记录
Neo4j社区版默认未开启服务端查询日志,需要提前修改配置文件才能记录历史查询:
- 找到实例配置文件
conf/neo4j.conf,修改以下参数:- 开启查询日志功能:
dbms.logs.query.enabled=true - 开启查询参数记录(可选):
dbms.logs.query.parameter_logging_enabled=true - 设置日志记录阈值:
dbms.logs.query.threshold=0ms,设置为0会记录所有执行的查询,可根据需求调整为对应时长(如1000ms仅记录运行超过1秒的慢查询)
- 开启查询日志功能:
- 重启Neo4j实例后配置生效,所有符合阈值的查询都会被记录到默认路径
logs/query.log中,你也可以通过dbms.logs.query.path参数自定义日志存储路径。
注意:如果此前未开启该配置,无法回溯查询配置生效前的历史Cypher执行记录。Neo4j浏览器的本地历史仅存储在前端本地缓存中,浏览器关闭或清除缓存后就会丢失。
内容的提问来源于stack exchange,提问作者ugurtosun
相关产品推荐
相关产品推荐

