neo4j相同查询语句一次查询特慢再次查询比较快。

现象:

neo4j相同查询语句一次查询特慢再次查询比较快。

分析:

查询语句

bash 复制代码
//查询同名方法
  match(path:Method)
where id(path) in [244333030] and NOT path:Constructor

//是rpc的方法
 match(rpc_method:Method)<-[:DECLARES]-(rpc_method_cls:Class)
-[:ANNOTATED_BY]->(anno:Annotation)
-[:OF_TYPE]->(annoType:Type{fqn:'com.yueyue.wukong.rpc.annotation.RpcProvider'})
 where rpc_method.signature = path.signature


return * limit 10

profile查看真实的执行过程。explain 可以查看预估的计划任务

bash 复制代码
profile match(path:Method)
where id(path) in [244333030] and NOT path:Constructor

//是rpc的方法
 match(rpc_method:Method)<-[:DECLARES]-(rpc_method_cls:Class)
-[:ANNOTATED_BY]->(anno:Annotation)
-[:OF_TYPE]->(annoType:Type{fqn:'com.yueyue.wukong.rpc.annotation.RpcProvider'})
 where rpc_method.signature = path.signature


return * limit 10

过滤行数最多才16行,理论不应该慢。

升级配置,修改neo4j内存配置

分析服务器监控, cpu 磁盘压力比较高。

尝试升级服务器配置到64G

修改neo4j 内存配置

dbms.memory.heap.initial_size=2G

dbms.memory.heap.max_size=10G

dbms.memory.pagecache.size=30g 原来是2G

最终解决问题。

neo4j 内存大小评估方法参考文档:

https://neo4j.com/developer/kb/how-to-estimate-initial-memory-configuration/

相关推荐
lishaoan772 小时前
使用tensorflow的线性回归的例子(九)
tensorflow·线性回归·neo4j
背太阳的牧羊人2 小时前
Neo4j 的向量搜索(Neo4jVector)和常见的向量数据库(比如 Milvus、Qdrant)之间的区别与联系
数据库·neo4j·milvus
隆里卡那唔17 小时前
在dify中通过http请求neo4j时为什么需要将localhost变为host.docker.internal
http·docker·neo4j
疯子的模样17 小时前
Docker 安装 Neo4j 保姆级教程
docker·容器·neo4j
晋丑丑12 天前
从 0 到 1 构建 Graph RAG 系统:本地图谱 + 通义千问落地实践
前端·后端·python·neo4j
Lightning_201712 天前
Neo4j.5.X社区版创建数据库和切换数据库
数据库·oracle·neo4j
南城尽相思13 天前
Neo4j常见语句-merge
neo4j
南城尽相思14 天前
Neo4j常用语法-path
neo4j
just-do-it-zzj14 天前
[neo4j]介绍4个开源的知识图谱项目
人工智能·知识图谱·neo4j
2501_9153738816 天前
Neo4j操作指南:修改节点数据与新增节点属性
neo4j