2011-03-29 5 views
17

간단히 말해서 : 제 JBoss 인스턴스가 정상적으로 실행되고 있지만 며칠 후 성능이 서서히 저하됩니다.잠시 후 Jboss가 느려집니다.

세부 사항 : 64 비트 RHEL 4 상자에서 실행되는 JBoss 5.1.0-GA 및 Java 1.6.0_18-b07 (x64)을 사용한 설치가 있습니다. 하드웨어는 8 코어 Xeon X5550/20G RAM이 장착 된 가상 시스템입니다.

JBoss에 배포 된 제품에는 내구성 테스트가 수행되는 웹 서비스가 포함되어 있습니다. 프로세스에 관련된 데이터베이스가 없습니다.

테스트는 4 개의 스레드가있는 soapui를 사용하여 수행되며 테스트는 20 % CPU 사용을 위해 구성됩니다.

처음에는 평균 응답 시간이 300ms라고 가정 해 보겠습니다. 2 일 후, 응답 시간은 600ms로 이해가되지 않습니다. 물론 내가 몇 가지를 확인했다 :

  • 더 메모리 누수가 없습니다를 (JProfiler와 함께 확인)
  • 힙 MEM은 파마 공간 사용은
  • GC 거의 결코 50 %, 약 25-50% 항상 바쁜
  • 모든 쓰레드는 쓰레드 덤프를

동안 검사 후 유휴 몇 가지 더 조사, 내가 한 처음에 JProfiler와 가진 CPU 프로파일 (여전히 빨리) 및 (느림)에에 끝을 . 그러면 내가 보는 것은 매 통화가 100 % 느려지는 것입니다! 짝수 호출은 간단한 Map # put()에 있습니다. (호출 수와이 맵의 내용은 동일합니다). 프로파일 러를 실행할 때 차단 된 스레드의 징후가없고 스레드 만 실행 중입니다.

성능 저하의 원인을 파악하는 데 도움이되는 사람이 있습니까? 감사합니다.


업데이트 : Java 버전을 1.6.0_24로 업그레이드하여 성능 저하를 해결했습니다!

옵션을 벗어나면 java vm의 모든 릴리스 노트를 검사하여 1.6.0_23의 성능 및 안정성 수정 사항을 발견했습니다. 참고 항목 : 1.6.0_23 release notes

jvm 업그레이드 후에도 성능은 동일하게 유지되고 며칠 동안 저하되지 않습니다. 월 의해 발견

+1

축하를 참조하십시오 좋은 대답. –

답변

6

솔루션 :

1.6.0_24에 Java 버전을 업그레이드하여 성능 저하를 해결!

옵션을 벗어나면 java vm의 모든 릴리스 노트를 검사하여 1.6.0_23의 성능 및 안정성 수정 사항을 발견했습니다. 당신이 대답로 "갱신"을 게시 할 수 있습니다 다음, 나중에 이것을 받아 들일 -. *를 1.6.0_23 버전의 성능은 동일하게 유지하고 일 저하되지 않습니다, JVM을 업그레이드 한 후

노트도

관련 문제