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/

相关推荐
Sayai2 天前
Neo4j 社区版高可用实战:DRBD 块级复制 + Keepalived 虚拟 IP 冷备切换(附启停 SOP 与脑裂防范)
运维·neo4j·keepalived·高可用·drbd
喵本喵叁肆6 天前
diffprivlib 中文实战教程 · 第8讲:实战——从零改造一个 DP 模型
python·neo4j·差分隐私
智码看视界8 天前
大数据架构解析—数据血缘:从 SQL 解析到字段级溯源,搭建大数据平台数据治理底座
数据治理·neo4j·元数据·sql解析·数据血缘·datalineage·sqlglot
quweiie17 天前
Neo4j Community 安全访问配置总结
数据库·centos·neo4j
Sayai22 天前
Neo4j 内嵌模式(Embedded)实战:Java 嵌入式 vs 服务端部署的写入性能对比与 GC 调优
java·开发语言·性能优化·neo4j·图数据库
AugustRed1 个月前
Neo4j 图数据库原理 + 应用场景简单介绍
数据库·neo4j
Thomas.Sir1 个月前
第34课:TensorFlow|TF迁移学习实战【调用官方预训练模型微调训练】
tensorflow·neo4j·迁移学习
xing-xing2 个月前
Neo4j学习总结
neo4j
JOker_Chu_2 个月前
知识图谱详解:从图结构、关系建模到查询与应用
数据库·知识图谱·database·neo4j
veminhe2 个月前
使用neo4j构建知识图谱
人工智能·知识图谱·neo4j