2013-11-26 34 views
0

我們有一個嵌入neo4j服務器的java應用程序。此應用程序從Oracle數據庫加載一些數據,創建圖形,然後用戶可以根據需要執行特定於域的遍歷和算法。升級到neo4j 2.0後,性能問題RC1

我們最近從1.9.3升級到RC1。我們現在使用Schema和獨特的約束如下:

Iterator<ConstraintDefinition> constraints = schema.getConstraints(
       DynamicLabel.label(label)).iterator(); 
     if (constraints == null || !constraints.hasNext()) { 
      try { 
       schema.constraintFor(
         DynamicLabel.label(label)) 
         .assertPropertyIsUnique(propertyName).create(); 
      } catch (org.neo4j.graphdb.ConstraintViolationException ex) { 
       LOG.error("CONSTRAINT ALREADY DEFINED ON: " 
         + label); 
      } 
     } 

問題是我們的應用程序啓動時間變慢了10倍。採樣的CPU時間揭示了以下內容:

jview capture

+0

你有測量的更詳細的分類?甚至是從JVisualVM或FlightRecorder/Mission Control完整轉儲?你是否還有比列出的代碼更多的代碼?很想調查這個?你還在做什麼? –

+0

當然,我可以收集轉儲並分享盡可能多的代碼,如您所願。我們阻止一切,直到圖表完全準備就緒,所以只有在這一點上進行的事情是每個事務中有10^4個節點被提交。 (來自節點的數據來自我們目前的記錄系統)。謝謝 ! –

+0

將visualvm快照附加到Google組帖子。更多來! –

回答