无论我使用的是Safari还是Chrome,问题都是一样的。 运行几次下面显示的相同查询后,我收到错误:与Neo4j断开连接。请检查电源线是否已拔下。 我能够SSH到服务器并从shell运行查询。 此查询是之前打开的另一个问题的主题,有人将其优化到表单如下所示。所以不是一个没有优化的查询的东西,似乎是关于浏览器界面的东西。 这有什么不对?
MATCH (p:Publisher)-[r:PUBLISHED]->(w:Woka)<-[s:AUTHORED]-(a:Author)
MATCH (l:Language)-[t:USED]->(w)-[u:INCLUDED]->(b:Bisac)
WHERE (a.author_name = 'Camus, Albert')
WITH p,r,w,s,a,l,t,u,b
OPTIONAL MATCH (d:Description)-[v:HAS_DESCRIPTION]-(w)
RETURN w, p, a, l, b, d, r, s, t, u, v;
更多细节:当浏览器在一台计算机中死机时,第二台计算机也会死于同一个数据库。
其他命令即 $ rails console 要么 $ rails s -d 启动rails服务器不再有效。 如果我正在重新启动Neo4j数据库服务器,那么所有工作都会稍微工作并在此之后冻结。
以下是查询的执行计划: neo4j-sh(?)$ EXPLAIN MATCH(p:出版商) - [r:PUBLISHED] - &gt;(w:Woka)&lt; - [s:AUTHORED] - (答:作者{author_name:'Camus,Albert'} ),(l:语言) - [t:USED] - &gt;(w) - [u:INCLUDED] - &gt;(b:Bisac)
WITH p,r,w,s,a,l,t,u,b 可选比赛(d:描述) - [v:HAS_DESCRIPTION] - (w) 返回w,p,a,l,b,d,r,s,t,u,v; + -------------------------------------------- + |没有返回数据,也没有任何更改。 | + -------------------------------------------- + 73毫秒
编译器CYPHER 2.2
Planner COST
OptionalExpand(全部) | +过滤器(0) | +展开(全)(0) | +过滤器(1) | +展开(全)(1) | +过滤器(2) | +展开(全)(2) | +过滤器(3) | +展开(全)(3) | + NodeUniqueIndexSeek
+ --------------------- + --------------- + -------- ------------------------- + ------------------------ ----- + |运营商| EstimatedRows |标识符|其他| + --------------------- + --------------- + ----------- ---------------------- + --------------------------- - + | OptionalExpand(All)| 5 | a,b,d,l,p,r,s,t,u,v,w | (w) - [v:HAS_DESCRIPTION] - (d)| |过滤(0)| 5 | a,b,l,p,r,s,t,u,w | b:Bisac | |展开(全部)(0)| 5 | a,b,l,p,r,s,t,u,w | (w) - [u:INCLUDED] - &gt;(b)| |过滤器(1)| 4 | a,l,p,r,s,t,w | l:语言| |展开(全部)(1)| 4 | a,l,p,r,s,t,w | (w)&lt; - [t:USED] - (l)| |过滤器(2)| 4 | a,p,r,s,w | p:发布者| |展开(全部)(2)| 4 | a,p,r,s,w | (w)&lt; - [r:PUBLISHED] - (p)| |过滤器(3)| 4 | a,s,w | w:Woka | |展开(全部)(3)| 4 | a,s,w | (a) - [s:AUTHORED] - &gt;(w)| | NodeUniqueIndexSeek | 1 | a | :作者(author_name)| + --------------------- + --------------- + ----------- ---------------------- + --------------------------- - +
数据库访问总数:? neo4j-sh(?)$
这是从顶部开始的快照(在冻结浏览器之前): 热门 - 14:59:36上传46天,17:03,2位用户,平均负载:2.66,4.58,3.75 任务:总共116次,2次跑步,114次睡眠,0次停止,0次僵尸 %Cpu:97.5 us,0.8 sy,0.0 ni,1.5 id,0.0 wa,0.0 hi,0.0 si,0.2 st KiB Mem:15666128总计,3858028使用,11808100免费,169612缓冲区 KiB交换:0总计,0使用,0免费。 2144784缓存Mem
PID用户PR NI VIRT RES SHR S%CPU%MEM TIME + COMMAND
10260 neo4j 20 0 14.348g 1.388g 195316 S 196.9 9.3 1:57.55 java
9879 ubuntu 20 0 23680 1656 1116 R 0.3 0.0 0:00.88 top
1根20 0 33508 2236 860 S 0.0 0.0 0:12.25 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.01 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:00.55 ksoftirqd / 0
4 root 20 0 0 0 0 S 0.0 0.0 0:30.10 kworker / 0:0
5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker / 0:0H
7 root 20 0 0 0 0 S 0.0 0.0 0:39.08 rcu_sched
8根20 0 0 0 0 R 0.0 0.0 0:47.50 rcuos / 0
9 root 20 0 0 0 0 S 0.0 0.0 1:00.72 rcuos / 1
答案 0 :(得分:1)
您的计算机的规格是什么?
您的查询返回了多少数据?
MATCH (p:Publisher)-[r:PUBLISHED]->(w:Woka)<-[s:AUTHORED]-(a:Author)
WHERE (a.author_name = 'Camus, Albert')
MATCH (l:Language)-[t:USED]->(w)-[u:INCLUDED]->(b:Bisac)
WITH p,r,w,s,a,l,t,u,b
OPTIONAL MATCH (d:Description)-[v:HAS_DESCRIPTION]-(w)
RETURN w, p, a, l, b, d, r, s, t, u, v;
您的视觉查询计划是什么样的?请在查询前添加PROFILE
另存为png并分享。
答案 1 :(得分:1)
此产品的浏览器界面Neo4j需要进行大修。没有办法将此界面用于严谨的设计,建模和开发。 我从Ruby on Rails控制台执行了以下压力测试。没有关于断开连接,网络等的错误。所有这些查询在5,6,7次执行后冻结浏览器并且即使结果集限制为25条记录也都成功运行。更重要的是,我执行了所有这些操作,而浏览器界面仍处于冻结状态,显示网络断开连接错误。
(1..1000).each do |n|
q = "MATCH (p:Publisher)-[r:PUBLISHED]->(w:Woka)<-[s:AUTHORED]-(a:Author)
WHERE (a.author_name = 'Freud, Sigmund')
MATCH (l:Language)-[t:USED]->(w)-[u:INCLUDED]->(b:Bisac)
WITH p,r,w,s,a,l,t,u,b
OPTIONAL MATCH (d:Description)-[v:HAS_DESCRIPTION]-(w)
RETURN w, p, a, l, b, d, r, s, t, u, v;"
r = Neo4j::Session.current.query(q)
print n, "\t", r.count, "\t", Time.now, "\n"
end
(1..1000).each do |n|
q = "MATCH (p:Publisher)-[r:PUBLISHED]->(w:Woka)<-[s:AUTHORED]-(a:Author)
WHERE (a.author_name = 'Einstein, Albert')
MATCH (l:Language)-[t:USED]->(w)-[u:INCLUDED]->(b:Bisac)
WITH p,r,w,s,a,l,t,u,b
OPTIONAL MATCH (d:Description)-[v:HAS_DESCRIPTION]-(w)
RETURN w, p, a, l, b, d, r, s, t, u, v;"
r = Neo4j::Session.current.query(q)
print n, "\t", r.count, "\t", Time.now, "\n"
end
(1..1000).each do |n|
q = "MATCH (p:Publisher)-[r:PUBLISHED]->(w:Woka)<-[s:AUTHORED]-(a:Author)
WHERE (a.author_name = 'Freud, Sigmund')
MATCH (l:Language)-[t:USED]->(w)-[u:INCLUDED]->(b:Bisac)
WITH p,r,w,s,a,l,t,u,b
OPTIONAL MATCH (d:Description)-[v:HAS_DESCRIPTION]-(w)
RETURN w, p, a, l, b, d, r, s, t, u, v;"
r = Neo4j::Session.current.query(q)
print n, "\t", r.count, "\t", Time.now, "\n"
end