2013-11-26 1 views
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 시간은 다음과 모서리 받침 샘플링 :

jview capture

+0

당신이 측정에 대한 자세한 분석을 수행합니다 우리가 세부에있는 특정 문제를 논의 할 것이다 다음 스레드? 또는 JVisualVM 또는 FlightRecorder/Mission Control의 전체 덤프도 가능합니까? 또한 사용 가능한 코드 조각보다 더 많은 코드가 있습니까? 이것을 조사하고 싶습니까? 시작하는 동안 그 밖의 무엇을합니까 ?? –

+0

물론, 덤프를 수집하고보고 싶은 코드를 공유 할 수 있습니다. 그래프가 완전히 준비 될 때까지 모든 것을 차단하므로, 그 시점에서 진행되는 것은 각 트랜잭션에서 커밋 된 10^4 노드뿐입니다. (노드의 데이터는 우리의 현재 기록 시스템에서 나옵니다). 감사 ! –

+0

Google 그룹스 게시물에 visualvm 스냅 샷을 첨부했습니다. 더 다가옵니다! –

답변

관련 문제