운영에서 레이턴시가 급증할 때마다 하게 되는 질문은 거의 비슷합니다. “애플리케이션, 데이터베이스 또는 인프라 중 무엇이 문제인가?” 보통은 답을 찾기 위해 대시보드, 데이터베이스 콘솔, 인프라 화면 간을 오가는 동안, 팀들은 다음에 살펴봐야 할 위치를 논의합니다.
오늘 뉴렐릭 어드밴스(New Relic Advance) 이벤트에서 데이터베이스 쿼리 텔레메트리와 전체 스택에 대한 컨텍스트를 함께 제공하는 통합 데이터베이스 환경인 Database 360(DB360)의 프리뷰 버전이 발표되었습니다. 이 환경은 성능 문제를 보다 빠르게 찾아내고 해결할 수 있도록 지원합니다.
DB360은 스택 전반에 흩어져 있는 점들을 연결해 준다는 점에서 차별화됩니다. 데이터베이스를 서비스 및 인프라에 연결된 엔터티로 모델링한 다음, 쿼리 세부 정보, 설명 계획, 대기, 잠금 같은 가장 중요한 진단 신호를 하나의 워크플로우로 가져옵니다. 여러 툴 간을 오가며 확인하지 않아도, 변경 사항, 영향 범위, 다음 수정 위치에 대한 질문에 신속하게 답을 얻을 수 있다는 의미입니다.
한 곳에서 풀스택 데이터베이스의 근본 원인 분석
데이터베이스 성능 문제가 한 도메인에 국한된 경우는 거의 없습니다. 쿼리 회귀, 잠금 차단, 리소스 포화, 애플리케이션 업스트림의 변경 등으로 인해 트랜잭션이 느려질 수 있습니다. DB360은 핵심 신호를 한 곳에 모아 탐지부터 근본 원인으로 빠르게 이동할 수 있도록 합니다.
DB360을 사용하면 다음을 수행할 수 있습니다.
직관적인 UI에서 느린 모든 쿼리 확인, 세부 정보 분석, 이력 통계 확인, 쿼리가 실행된 애플리케이션 확인, 리소스/잠금이 해제되기를 기다리는 쿼리 여부 확인, 실행 계획 및 변경 사항 시각화는 물론, 인프라 메트릭을 모두 한 곳에서 확인할 수 있습니다. 여러 툴과 화면 간을 전환하지 않고도 문제의 원인을 신속하게 격리할 수 있습니다.
또한 APM 페이지에서 느린 트랜잭션을 확인하고 데이터베이스 내에서 쿼리가 동작하는 방식으로 바로 이동할 수 있어, 데이터베이스 내부 데이터를 APM 사용자에게 즉시 노출할 수 있습니다.
- 데이터베이스 엔터티 뷰에서 시작해, 연결된 서비스, 호스트 및 클러스터에 즉시 확인
- 설명 계획과 대기 및 잠금 등의 지원 컨텍스트를 통해 느린 쿼리 분석
- 병목 현상이 데이터베이스 내부에서 일어나는지 아니면 기저 인프라 제약과 연관되는지 평가
여러 팀이 관련된 경우 신속한 분류
데이터베이스 인시던트의 경우, 개발 팀, SRE 팀, DB 팀이 각자 부분적인 뷰를 갖고 있어서 사실을 조율하는 데 시간이 소비됩니다. DB360은 팀이 애플리케이션과 인프라의 성능 문제를 해결하는 데 이미 사용하고 있는 것과 동일한 컨텍스트로 데이터베이스 동작을 표시하여 이러한 문제를 해결해 줍니다.
공유 되는 컨텍스트는 다음에 도움을 줍니다.
- 영향을 받는 서비스 파악
- 로딩 또는 레이턴시에 가장 큰 영향을 주는 쿼리 식별
- 대기/잠금 또는 인프라 포화로 인해 속도가 느려지는지 여부 파악
공유되는 주요 인스턴스 위험에 대한 선제적 보호
데이터베이스가 공유되는 환경에서는 보편적인 안정성 위험이 있습니다. 한 워크로드가 과도하게 리소스를 소비하여 다른 워크로드의 성능이 저하되는 문제입니다. DB360은 장기적으로 실행되는 세션, 쿼리 차단 및 리소스 사용량이 많은 동작이 강조되는 조기 경고 신호를 표시함으로써, 팀이 주요 인시던트가 발생하기 전에 문제를 해결할 수 있도록 지원합니다.
이미지: (블록커 및 영향을 받는 컨슈머를 강조하는 세션/잠금 뷰의 스크린샷 삽입)
성능, 안정성 및 비용 권장 사항을 통해 다음 수정 사항 파악
팀은 가시성만 필요한 것이 아니라 지침도 필요합니다. DB360에는 성능, 안정성 및 비용 전반에 대한 권장 사항이 포함되어 있어, 가장 큰 영향을 미칠 수 있는 변경 사항에 우선순위를 둘 수 있습니다.
예:
- 누락된 인덱스 등의 성능 지침
- 디스크 공간 부족 또는 상승된 위험 지표 같은 안정성 관련 플래그
- 유휴 상태 또는 활용도가 낮은 관리 인스턴스 등의 비용 신호
2단계로 시작할 수 있는 Database 360
데이터베이스 모니터링 뷰에서 DB360 열기
이미 데이터베이스 성능 모니터링을 사용하고 있다면 데이터베이스 환경에서 바로 DB360으로 이동할 수 있습니다. 데이터베이스 엔터티 뷰에서 시작해 연결된 항목, 즉 데이터베이스에 의존하는 서비스와 데이터베이스를 지원하는 인프라를 빠르게 확인할 수 있습니다.
하나의 워크플로우에서 컨텍스트 확보 + 쿼리로 근본 원인 파악
레이턴시가 급증하는 경우 DB360을 사용하면, 여러 툴 간에 전환하지 않고 증상을 원인으로 연결할 수 있습니다.
- 느리며 영향이 가장 큰 쿼리 식별
- 설명 계획 검토
- 경합이 있는지 대기/잠금 확인
- 인프라 제약이 원인인지 확인
이 블로그에 표현된 견해는 저자의 견해이며 반드시 New Relic의 견해를 반영하는 것은 아닙니다. 저자가 제공하는 모든 솔루션은 환경에 따라 다르며 New Relic에서 제공하는 상용 솔루션이나 지원의 일부가 아닙니다. 이 블로그 게시물과 관련된 질문 및 지원이 필요한 경우 Explorers Hub(discuss.newrelic.com)에서만 참여하십시오. 이 블로그에는 타사 사이트의 콘텐츠에 대한 링크가 포함될 수 있습니다. 이러한 링크를 제공함으로써 New Relic은 해당 사이트에서 사용할 수 있는 정보, 보기 또는 제품을 채택, 보증, 승인 또는 보증하지 않습니다.