0
neo4j 서버가 포함 된 Java 응용 프로그램이 있습니다. 이 응용 프로그램은 Oracle db에서 일부 데이터를로드하고 그래프를 작성한 다음 사용자가 필요에 따라 도메인 특정 트래버 설 및 알고리즘을 수행 할 수 있습니다.neo4j 2.0 RC1로 업그레이드 한 후 성능 문제
최근에 1.9.3에서 2.0 RC1로 업그레이드되었습니다.
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 노드뿐입니다. (노드의 데이터는 우리의 현재 기록 시스템에서 나옵니다). 감사 ! –
Google 그룹스 게시물에 visualvm 스냅 샷을 첨부했습니다. 더 다가옵니다! –