이 페이지에서는 PostgreSQL용 AlloyDB의 고급 쿼리 통계 기능을 설명합니다. 고급 쿼리 통계 기능을 설정하고 사용하는 방법에 관한 자세한 내용은 고급 쿼리 통계 기능을 사용하여 쿼리 성능 개선을 참고하세요.
고급 쿼리 통계 기능은 쿼리 성능 진단과 표준 쿼리 통계에서 제공되는 모든 기능을 제공합니다.
고급 쿼리 통계 기능을 사용하면 데이터베이스 및 쿼리 성능 문제를 거의 실시간으로 감지, 해결, 방지할 수 있습니다. 지난 7일간의 쿼리 통계 데이터를 기반으로 애플리케이션 수준에서 쿼리 성능을 모니터링하고 작업, 컨트롤러, 프레임워크, 경로, 애플리케이션, 데이터베이스 드라이버별로 애플리케이션 스택에서 문제가 있는 쿼리의 소스를 추적할 수 있습니다. 고급 쿼리 통계 기능은 모든 쿼리의 쿼리 계획을 캡처하고 분당 최대 200개의 쿼리 계획을 샘플링합니다.
고급 쿼리 통계 기능을 사용하면 쿼리 성능 문제의 근본 원인을 사전에 파악하고 문제를 해결할 수 있습니다.
- 사용자, 호스트, 데이터베이스와 같은 여러 측정기준에서 거의 실시간 쿼리 통계 및 상관 분석을 사용하여 어려운 문제를 진단하는 임시 분석을 실행합니다.
- 전체 SQL 문을 사용하여 쿼리 실행 계획을 확인하고 함께 제공되는 주석을 확인합니다. 해당하는 경우 검색어와 연결된 댓글을 볼 수 있습니다.
- 대기 이벤트와 같은 원격 분석을 분석하여 복잡한 성능 문제를 해결합니다. 대기 이벤트는 쿼리 관련 작업 처리가 지연되는 구성요소입니다. 기본적으로 사용 설정된 대기 이벤트 측정항목은 장기 실행 쿼리 및 관련 대기 시간의 성능 문제를 진단하고 디버그하는 데 도움이 됩니다.
- 색인 만들기에 관한 색인 자문 권장사항을 확인하세요.
- 쿼리 통계 설정을 구성합니다. 예를 들어 쿼리 길이를 맞춤설정하고, 대기 이벤트 분석을 사용 설정하고, 쿼리 주석 및 애플리케이션 태그를 저장할 수 있습니다. 이전 데이터와 거의 실시간 데이터에 액세스할 수 있습니다.
- 장기 실적 보기를 위해 최대 30일 동안의 데이터를 분석합니다.
고급 쿼리 통계 기능의 이점
다음과 같은 고급 쿼리 통계 기능을 사용하여 쿼리 성능 문제를 감지하고 해결할 수 있습니다.
- 쿼리 성능 문제를 조기에 파악하고 Google Cloud 콘솔의 단일 페이지에서 문제를 식별, 진단, 해결할 수 있는 사전 빌드된 대시보드입니다.
- 근본 원인을 파악하고 문제를 해결하는 데 도움이 되는 시각적 쿼리 계획 컨텍스트 내 엔드 투 엔드 애플리케이션 추적을 사용하여 문제가 있는 쿼리의 소스를 추적할 수 있습니다.
- Google Cloud의 엔터프라이즈 보안, 개인 정보 보호, 규정 준수 서비스를 기반으로 한 유용한 정보로 운영 오버헤드를 줄일 수 있습니다.
- 객체 관계형 매퍼 (ORM)를 사용하여 빌드된 애플리케이션의 애플리케이션 중심 모니터링 및 간소화된 성능 진단 비즈니스 로직으로 쿼리를 태그하여 애플리케이션 중심의 뷰로 데이터베이스 성능을 모니터링할 수 있습니다. 오픈소스 라이브러리인 Sqlcommenter는 ORM을 자동으로 계측하여 성능 문제를 일으키는 애플리케이션 코드를 식별하는 데 도움이 됩니다.
고급 쿼리 통계 기능 작동 방식
고급 쿼리 통계 기능은 완전 관리형이므로 기능을 설치하거나 직접 관리할 필요가 없습니다.
고급 쿼리 통계 기능은 후크를 사용하여 구현된 쿼리 측정항목 및 실행 계획을 기록하는 확장 프로그램을 로드합니다. 측정항목은 AlloyDB 테이블에 저장되고 정규화된 실행 계획은 Cloud Trace에 저장됩니다.
Google Cloud 콘솔의 AlloyDB 쿼리 통계 페이지에서 이러한 측정항목에 액세스할 수 있습니다. 쿼리 완료 후 30초 이내에 고급 쿼리 통계 기능에서 측정항목을 사용할 수 있습니다. 측정항목은 데이터베이스 저장용량과 동일한 방식으로 저장 상태에서 암호화됩니다.
고급 쿼리 통계 기능은 정규화된 쿼리만 저장하고 표시합니다. 쿼리 문자열의 상수 값이 모두 삭제됩니다. 쿼리 주석은 필요에 따라만 보존되며 선택사항인 기능입니다. 쿼리 계획 Trace는 상수 값을 수집하고 저장하지 않습니다.
스토리지
고급 쿼리 통계 기능은 정규화된 쿼리만 저장하고 표시합니다. 쿼리 문자열의 상수 값이 모두 삭제됩니다. 쿼리 계획 Trace는 상수 값을 수집하고 저장하지 않습니다. 기본적으로 고급 쿼리 통계 기능은 태그 정보를 수집하지 않습니다. 나중에 사용 설정하는 경우 인스턴스 설정별로 고급 쿼리 통계 기능에서 사용 중지할 수 있습니다.
쿼리 통계 대시보드에는 4주간의 데이터가 표시됩니다. 7일 분량의 데이터에 필요한 스토리지 요구사항은 약 36GB입니다. 고급 쿼리 통계 기능은 최대 10MB의 RAM (공유 메모리)을 사용합니다. 쿼리 완료 후 30초 이내에 통계에서 측정항목을 사용할 수 있습니다. 또한 Cloud Monitoring의 시스템 측정항목에서 표준 쿼리 통계 측정항목을 사용하여 표준 쿼리 통계의 기능을 그대로 유지할 수 있습니다. Cloud Monitoring 시스템 측정항목 보관 정책에 관한 자세한 내용은 데이터 보관을 참고하세요.
고급 쿼리 통계 기능의 트레이스는 Cloud Trace에 저장되며 보관 기간은 30일입니다. Cloud Trace 데이터 보관 정책에 대한 자세한 내용은 할당량 및 한도를 참고하세요.
제한사항
- 고급 쿼리 통계 기능에서 노출하는 측정항목은 Cloud Monitoring API를 사용하여 사용할 수 없습니다.
- 클라이언트 IP 주소 지원을 사용할 수 없습니다.
- 보조 인스턴스가 있는 클러스터에서는 고급 쿼리 통계 기능을 사용 설정할 수 없습니다. 클러스터에서 보조 인스턴스를 만들기 전에 클러스터의 모든 인스턴스에서 고급 쿼리 통계 기능을 사용 중지해야 합니다.
- AlloyDB는 기본 및 읽기 풀 인스턴스의 쿼리 통계 데이터를 30일 동안 저장합니다. 기본 인스턴스의 데이터를 저장하면 약 180GB가 소모되며 클러스터에 있는 읽기 풀 노드의 수에 따라 증가할 수 있습니다. 최대 사용 스토리지 크기는 700GB입니다.
- 읽기 풀 인스턴스에서 고급 쿼리 통계 기능을 사용 설정하려면 먼저 기본 인스턴스에서 사용 설정해야 합니다.
- 고급 쿼리 통계 기능을 사용 설정하면 쿼리 통계 대시보드가 재설정됩니다. 하지만 측정항목 탐색기 UI를 사용하면 표준 쿼리 통계 측정항목에 계속 액세스할 수 있습니다.
다음 단계
- 쿼리 통계를 사용하여 쿼리 성능 개선
- AlloyDB 측정항목에 대해 알아보세요.