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時間揭示了以下內容:
你有測量的更詳細的分類?甚至是從JVisualVM或FlightRecorder/Mission Control完整轉儲?你是否還有比列出的代碼更多的代碼?很想調查這個?你還在做什麼? –
當然,我可以收集轉儲並分享盡可能多的代碼,如您所願。我們阻止一切,直到圖表完全準備就緒,所以只有在這一點上進行的事情是每個事務中有10^4個節點被提交。 (來自節點的數據來自我們目前的記錄系統)。謝謝 ! –
將visualvm快照附加到Google組帖子。更多來! –