2014-01-20 2 views
1

내 응용 프로그램 서버의 분석이 필요한 느린 경로가 있습니다. 나는 시간을 측정하고 가장 느린 길을 찾아 내고 그것을 고치고 다시 측정하고 싶다.어떻게 Java에 로그인하여 결과를 분석합니까?

Google은 스레드와 작업을 예약하는 타이머에 대한 결과를 반환합니다. 이는 원하는 바가 아닙니다.

나는 logback을 사용하고 다른 방법으로 로그 문을 넣을 수 있습니다.. 각 행에는 시간 소인이 있습니다. 이 데이터는 별도의 로거에 기록됩니다. 동작 지속 시간은 2 개의 타임 스탬프 간의 차이입니다.

기간을 수동으로 평가하지 않고도이 타이머 로그 데이터를 분석 할 수 있습니까? 공구? 메토 로지? 내가 사용해야하는 가장 좋은 방법은 무엇입니까?

내 응용 프로그램을 통해 타이머 로그 데이터를 입력하고 신속하게 내주의가 필요한 느린 동작을 찾고 싶습니다. 또한 응용 프로그램 서버는 고객 환경에서 실행되므로 타이머 로거는 성능을 쉽게 분석 할 수있는 방법입니다.

답변

0

코드에 타이밍 기록을 추가하는 것보다 "프로파일 러"를 사용하는 것이 좋습니다. 밖에 많이 있지만 가장 좋아하는 것은 YourKit입니다.

위의 링크에서 CPU 프로파일 링 기능과 특히 "핫 스폿"의 프로파일 링을 확인하십시오 (15 일 평가판 평가판을 다운로드 할 수 있습니다. 결과적으로 수명이 긴 객체를 감시하기 위해 "객체 생성"을 적용함으로써 메모리 프로파일 링에 매우 유용합니다. 또한 리소스 사용을 분석하기위한 "프로브"기능을 선호합니다 (예 : 연결이 열리고 적절히 닫힘) . 균형을 위해서

, 다른 프로필 도구 jprofiler 및 jprobe (적절한 다운로드 사이트의 확실하지 않은)입니다.

+0

나는 당신의 제안을 테스트 할 것입니다. 나는 또한이 애플리케이션 서버가 고객 환경에서도 실행되고 있다는 나의 질문을 업데이트했다. 이러한 방식으로 타이머 로그를 조작하기 쉽습니다. –

+0

흠. 프로파일 러가있는 라이브 앱 서버에는 연결하지 않습니다. 일반적으로 사용자로드를 작성하고 로컬에서 테스트하려면로드 테스트 도구 (LoadRunner 또는 무료 jmeter)를 사용합니다. – wmorrison365

0

당신은 또한 VisualV에 모습을 가질 수있다 M 프로파일 러 (https://visualvm.java.net)는 JDK와 함께 제공됩니다. 사용하기가 쉽고 제대로 작동하며 로그 메시지를 작성하는 것보다 나에게 묻는다면 더 낫습니다.

관련 문제