• EnglishEspañol日本語한국어Português
  • 로그인지금 시작하기

이 한글 문서는 사용자의 편의를 위해 기계 번역되었습니다.

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

문제 신고

느린 데이터베이스 쿼리 진단

목표

이 자습서를 마치면 다음을 수행하게 됩니다.

  • 느린 데이터베이스 쿼리 식별
  • 느린 데이터베이스 쿼리를 해결하는 방법 이해
  • 데이터베이스 UI 사용 방법 이해

데이터베이스 쿼리를 최적화하는 이유

앱이 중단되면 시스템만큼 복잡한 문제를 해결하는 동안 고객은 기다리게 됩니다. 데이터가 보고되고 무엇이 문제일 수 있는지 대략적으로 알고 있지만 어디서부터 시작해야 할까요?

사이트가 데이터베이스에 의존하는 경우(아마도 그럴 것임) 쿼리 응답 시간이 예상대로 수행되는지 확인하고 싶을 것입니다. 종종 사이트의 성능은 데이터베이스가 고객이 보낸 쿼리를 얼마나 잘 처리하는지에 따라 달라집니다. New Relic을 사용하면 데이터베이스 UI를 사용하여 시간 경과에 따른 데이터베이스 성능을 추적할 수 있으므로 문제가 발생한 시기를 정확히 파악하여 필요한 솔루션 종류를 파악할 수 있습니다.

이 자습서에서는 데이터베이스 작업에서 느린 쿼리 문제를 해결하는 방법을 설명합니다.

앱 데이터의 문제 범위 파악

데이터베이스 UI는 NRQL 쿼리로 작성된 차트를 표시합니다. 이 차트는 설치한 에이전트가 보고한 apm.service.datastore.operation.duration 측정항목의 데이터를 사용합니다. 이 차트는 상위 작업별 상위 데이터베이스 프로세스의 응답 시간, 해당 쿼리 시간 및 앱의 처리량을 보여줍니다.

문제의 범위를 정할 때 동일한 이야기의 다른 부분을 말하므로 이러한 각각의 진입점을 사용하는 것이 좋습니다. UI를 사용하여 성능 문제 진단을 시작하는 방법을 살펴보겠습니다.

가장 느린 쿼리 문제 해결을 시작하려면 APM의 기본 데이터베이스 UI에서 시작합니다.

데이터베이스 작업에 소요되는 시간

Most time consuming[가장 많은 시간이 소요되는] 차트는 데이터베이스 작업에 의한 쿼리의 총 처리 시간을 보여줍니다.

5개의 데이터베이스 작업을 표시한 다음 쿼리 실행 시간을 추적하는 이 차트입니다. 이 차트는 가장 바쁘고 자주 호출되는 쿼리를 맨 위에 표시합니다. 자주 호출되지 않는 쿼리가 가장 사용량이 많은 쿼리와 함께 추세라면 처리 시간이 그렇게 많이 소비되는 이유를 이해하기 위해 추가 범위 지정이 필요한 쿼리에 문제가 있음을 나타낼 수 있습니다.

데이터베이스 UI는 시간 경과에 따른 데이터베이스 작업 그래프를 보여줍니다.

쿼리 시간별 상위 데이터베이스

Top databases by query time[쿼리 시간별 상위 데이터베이스] 차트는 쿼리를 실행하는 데 걸리는 시간을 기준으로 데이터베이스 성능을 보여줍니다.

이 NRQL 쿼리는 상위 데이터베이스를 표시하는 차트를 생성한 다음 쿼리 소요 시간을 평균화합니다. 예를 들어 평균적으로 Redis EVAL 데이터베이스가 쿼리를 처리하는 데 평균 약 0.5초가 걸리지만 쿼리 시간이 2초 증가했다면 개별 쿼리를 더 깊이 파고들어야 한다는 것을 알 수 있습니다.

데이터베이스 UI는 쿼리 시간별로 상위 데이터베이스의 그래프를 보여줍니다.

처리량 기준 상위 데이터베이스

Top databases by throughput[처리량별 상위 데이터베이스] 차트는 시간 경과에 따른 데이터베이스 처리량을 보여줍니다.

처리량 그래프는 지정된 시간 범위에서 작업이 실행하는 프로세스 수를 추적합니다. 처리량이 부족한 경우 특정 작업을 더 깊이 파고들어야 합니다.

데이터베이스 UI는 처리량을 기준으로 상위 데이터베이스의 그래프를 보여줍니다.

데이터베이스 쿼리에 대해 자세히 알아보기

더 깊이 파고든다는 것은 데이터를 따라간다는 것을 의미합니다. 문제가 있는 대략적인 영역을 식별하는 것은 해결책을 찾는 과정의 일부일 뿐입니다.

데이터베이스의 평균 성능을 살펴본 후 다음 단계는 쿼리 시간, 트랜잭션 및 스택 추적을 사용하여 데이터를 추적하는 것입니다.

1Prepare to triage your application

2Identify problematic transactions

Copyright © 2024 New Relic Inc.

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