Neo4j浏览器界面停止工作或重新连接

时间:2015-06-01 19:56:45

标签: neo4j

无论我使用的是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

2 个答案:

答案 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