• 로그인지금 시작하세요

사용자의 편의를 위해 제공되는 기계 번역입니다.

영문본과 번역본이 일치하지 않는 경우 영문본이 우선합니다. 보다 자세한 내용은 이 페이지를 방문하시기 바랍니다.

문제 신고

JFR 메트릭을 사용하여 Java에 대한 실시간 프로파일링

New Relic의 JFR(Java Flight Recorder) 메트릭을 사용하여 Java에 대한 실시간 프로파일링을 사용하면 프로덕션 환경에서 Java 코드에 대해 지속적이고 상시 가동되는 프로파일링을 실행할 수 있습니다. 함께 제공되는 JVM 클러스터 타임라인 보기는 클러스터 전체의 성능 문제를 진단하는 빠르고 직관적인 방법을 제공합니다. 예를 들어 애플리케이션 배포가 클러스터의 전반적인 상태에 어떤 영향을 미치는지 빠르게 확인할 수 있습니다.

성능 병목 현상 찾기

Java 애플리케이션 또는 서비스의 성능 병목 현상을 해결하면 다음을 더 잘 이해할 수 있습니다.

  • 자원을 낭비하고 있는 곳
  • 사건이 일어났을 때
  • 사건 중에 일어난 일
  • 어떤 성능 문제로 인해 사고가 발생했는지

문제 해결을 더 빠르고 쉽게 하려면 JVM에서 실행되는 코드의 충실도 높은 런타임 특성을 확인해야 하며 해당 데이터가 실시간으로 필요합니다.

JFR 데몬

JFR 데몬 은 JVM의 동작을 시각화 하기 위해 New Relic 플랫폼의 기능을 활용할 수 있게 해주는 JFR 이벤트 내보내기 도구입니다. New Relic Java 원격 측정 SDK 를 기본 구현으로 사용하여 JFR 데몬은 JFR 이벤트를 New Relic 원격 측정 유형으로 변환하고 이를 New Relic의 메트릭 및 이벤트 수집 API에 보고합니다.

JFR 데몬에는 세 가지 다른 사용 시나리오가 있습니다.

지원되는 자바 버전

JFR 데몬은 모든 버전의 Java 11 이상을 지원하지만 프로덕션 환경에서 비 LTS 버전의 Java를 사용하지 않는 것이 좋습니다.

일부 공급업체는 JFR을 Java 8 바이너리로 백포트했습니다. 예를 들어 OpenJDK는 버전 8u262에서 JFR을 백포트했습니다. JFR 데몬은 해당 Java 버전과 호환됩니다.

요구 사항 및 사용 지침

요구 사항 및 지침은 각 사용 시나리오에 따라 다릅니다. 자세한 내용은 특정 사용 시나리오에 대한 링크를 참조하십시오.

중요

JFR 데몬과 함께 실행되는 앱은 JFR 하위 시스템이 추가 메모리를 사용할 것으로 예상해야 합니다.

데이터 보기

데이터를 보려면 one.newrelic.com > Explorer > (서비스 선택) > More Views > Realtime Profiling Java 로 이동하십시오.

시간 경과에 따른 JVM 클러스터 동작 이해

JVM 클러스터 타임라인 보기는 전체 클러스터에서 JVM 동작을 보여줍니다. 이 타임라인은 더 빠른 문제 해결 및 문제 감지를 가능하게 합니다. 예를 들어 한 눈에 다음을 볼 수 있습니다.

  • 최근 배포가 나머지 JVM 클러스터에 미치는 영향
  • JVM이 다시 시작될 때
  • 개별 인스턴스가 노이즈가 많은 이웃에 의해 영향을 받은 방식

문제 해결을 더 쉽게 하려면 JVM에서 실행되는 코드의 충실도 높은 런타임 특성을 확인해야 하며 해당 데이터가 실시간으로 필요합니다.

one.newrelic.com > Explorer > (서비스 선택) > Realtime Profiling Java : JVM 클러스터 타임라인 보기는 클러스터 전반의 JVM 동작을 보여줍니다.

타임라인의 각 행은 시간 경과에 따른 특정 JVM을 나타냅니다. 각 행 내에서 상자는 해당 JVM 수명의 5분을 나타냅니다. 가장 심각하지 않은 것부터 가장 심각한 것까지 노란색, 주황색 및 빨간색 신호등은 JVM의 비정상적인 동작을 나타내므로 오류 또는 기타 성능 문제를 조사할 때 해당 인스턴스와 적절한 기간으로 드릴다운할 수 있습니다.

JVM 상태는 어떻게 결정됩니까?를 선택하십시오. JVM 상태가 계산되는 방법에 대한 자세한 분석은

JVM 세부정보

각 JVM의 세부 정보 패널은 몇 가지 중요한 보기를 제공합니다.

  • 프로세스 내에서 리소스가 할당되는 방식
  • 가비지 수집이 성능에 미치는 영향
  • 로그로 가비지 수집을 추적하는 방법
  • CPU 사용 방법

one.newrelic.com > Explorer > (서비스 선택) > Realtime Profiling Java > (JVM 선택) : 각 JVM에 대한 세부 정보를 볼 수 있습니다.

Flame 그래프로 리소스 집약적인 코드 경로 식별

중요

플레임 그래프 기능은 New Relic Java 에이전트 JFR 서비스 사용 시나리오와만 호환됩니다.

"불꽃 그래프"는 호출 트리를 시각화하는 방법입니다. 그래프의 각 블록은 기능을 나타냅니다. 메서드가 소비하는 CPU 시간과 메모리 리소스가 많을수록 해당 블록은 더 넓어집니다.

플레임 그래프를 사용하여 애플리케이션 코드에서 가장 자주 실행되는 Java 클래스 및 메소드를 식별하십시오. Flame 그래프를 사용하여 코드의 핫스팟을 최적화하면 리소스 소비를 줄이고 애플리케이션의 전체 성능을 높일 수 있습니다.

화염 그래프 색상에 대한 몇 가지 세부 정보는 다음과 같습니다.

  • 밝은 색상: Java SE 패키지의 메소드.
  • 어두운 색: 다른 라이브러리의 메서드.

one.newrelic.com > Explorer > (서비스 선택) > Realtime Profiling Java > (JVM 선택) : 플레임 그래프를 포함하여 각 JVM에 대한 세부 정보를 볼 수 있습니다.

Copyright © 2022 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.