2014-06-16 86 views
0

我正在使用neography將我的rdb傳輸到neo4j 2.0.3 。在開始時,我的每個傳輸查詢所用的時間都非常短,但現在(graphml文件的大小約爲1.3gbs)插入需要3-5xtime,並且經常會針對某些查詢引發此錯誤。neo4j的性能問題

org.neo4j.server.rest.repr.RepresentationExceptionHandlingIterable.exceptionOnHasNext(RepresentationExceptionHandlingIterable.java:50) 
org.neo4j.helpers.collection.ExceptionHandlingIterable$1.hasNext(ExceptionHandlingIterable.java:46) 
org.neo4j.helpers.collection.IteratorWrapper.hasNext(IteratorWrapper.java:42) 
org.neo4j.server.rest.repr.ListRepresentation.serialize(ListRepresentation.java:71) 
org.neo4j.server.rest.repr.Serializer.serialize(Serializer.java:75) 
org.neo4j.server.rest.repr.MappingSerializer.putList(MappingSerializer.java:61) 
org.neo4j.server.rest.repr.CypherResultRepresentation.serialize(CypherResultRepresentation.java:83) 
org.neo4j.server.rest.repr.MappingRepresentation.serialize(MappingRepresentation.java:41) 
org.neo4j.server.rest.repr.OutputFormat$1.write(OutputFormat.java:160) 
org.neo4j.server.guard.GuardingRequestFilter.doFilter(GuardingRequestFilter.java:68) 
org.neo4j.server.rest.security.SecurityFilter.doFilter(SecurityFilter.java:112) 
org.neo4j.server.guard.GuardingRequestFilter.doFilter(GuardingRequestFilter.java:68) 
java.lang.Thread.run(Thread.java:745) 

org.neo4j.kernel.guard.Guard $ Timeout.check(Guard.java:132) org.neo4j.kernel.guard.Guard.check(Guard.java :43) org.neo4j.kernel.InternalAbstractGraphDatabase $ 5.getNodeByIdOrNull(InternalAbstractGraphDatabase.java:745) org.neo4j.kernel.impl.core.NodeManager.getNodeById(NodeManager.java:301) org.neo4j.kernel.InternalAbstractGraphDatabase .getNodeById(InternalAbstractGraphDatabase.java:1121) org.neo4j.cypher.internal.spi.v2_0.TransactionBoundQueryCon文本$ NodeOperations.getById(TransactionBoundQueryContext.scala:157) org.neo4j.cypher.internal.spi.v2_0.TransactionBoundQueryContext $$ anonfun $ getNodesByLabel $ 1.apply(TransactionBoundQueryContext.scala:131) org.neo4j.cypher.internal。 spi.v2_0.TransactionBoundQueryContext $$ anonfun $ getNodesByLabel $ 1.apply(TransactionBoundQueryContext.scala:131) org.neo4j.cypher.internal.helpers.JavaConversionSupport $$ anon $ 2.next(JavaConversionSupport.scala:33) scala.collection。 Iterator $$ anon $ 11.next(Iterator.scala:328) scala.collection.Iterator $$ anon $ 13.next(Iterator.scala:372) scala.collection.Iterator $$ anon $ 14.hasNext(Iterator.scala: 389) scala.collection.Iterator $$ anon $ 13.hasNext(Iterator.scala:371) scala.collection.Iterator $$ anon $ 14.hasNext(Iterator.sca la:388) scala.collection.Iterator $ class.foreach(Iterator.scala:727) scala.collection.AbstractIterator.foreach(Iterator.scala:1157) scala.collection.generic.Growable $ class。$ plus $加$ eq(Growable.scala:48) scala.collection.mutable.ListBuffer。$ plus $ plus $ eq(ListBuffer.scala:176) scala.collection.mutable.ListBuffer。$ plus $ plus $ eq(ListBuffer。 scala.collection.TraversableOnce $ class.to(TraversableOnce.scala:273) scala.collection.AbstractIterator.to(Iterator.scala:1157) scala.collection.TraversableOnce $ class.toList(TraversableOnce.scala :257) scala.collection.AbstractIterator.toList(Iterator.scala:1157)

我通過在rdb的每一行上循環併爲電影(如果不存在)創建節點(如果不存在)及其相關標記(如果不存在)並且然後創建它們之間的關係,從而將電影的數據從rdb導入到neo4j,以及類似的動作。

如何使性能更好並解決此錯誤?

這是我neo4j-wrapper.conf

搜索時,我降落在http://docs.neo4j.org/chunked/stable/configuration.html這給出了一個詳細的性能和配置建議。但開始時看起來很複雜。是否有任何做和不要使用neo4j與紅寶石更好的性能

請幫我一把。

+0

請問您可以分享_how_導入您的數據。現在,你的問題無法理解。請分享有關如何使用Neo4j的API插入數據,Neo4j版本,配置等的詳細信息。另外,如果配置執行時間超時,則可能會預計在操作時間過長時超時。 –

+0

我使用** neo4j 2.0.3 ** ** neography **,這是我的[neo4j-wrapper.conf](http://pastebin.com/raw.php?i=cA6vi0d7)。 我通過循環遍歷rdb的每一行併爲電影(如果不存在)創建節點及其相關標記(如果不存在),然後在它們之間創建關係以及類似的這些動作,將電影數據從rdb導入到neo4j 。 目前graphml格式的數據庫大小約爲1.3 GB。我剛剛刪除了執行時間限制以避免現在的錯誤。但這可能會實時傷害。 –

回答