활성 쿼리 모니터링

이 페이지에서는 데이터베이스에서 활성 상태로 있는 쿼리를 모니터링하고 문제 해결하는 방법을 설명합니다. 이러한 쿼리를 모니터링하면 시스템 지연 시간 및 높은 CPU 사용량에 대한 원인을 파악하는 데 도움이 될 수 있습니다.

쿼리 통계 대시보드에서 활성 트랜잭션 요약과 연결된 쿼리 및 통계와 함께 트랜잭션 목록을 볼 수 있습니다. 트랜잭션은 트랜잭션 시작 시간으로 표시됩니다. 실행 중인 쿼리 수가 많으면 총 쿼리 중 일부만 결과가 표시될 수 있습니다.

시작하기 전에

맞춤 역할을 만들고 다음 권한을 추가합니다. 그런 다음 쿼리 통계를 사용해야 하는 각 사용자 계정에 역할을 부여합니다.

Tasks 역할 권한
데이터베이스 활동 요약 및 장기 실행 트랜잭션 보기 databaseinsights.viewer databaseinsights.activeQueries.fetch
databaseinsights.activitySummary.fetch
인스턴스 활동 요약 보기 cloudsql.viewer 해당 사항 없음
세션 종료 cloudsql.editor
databaseinsights.operationsAdmin
해당 사항 없음

활성 쿼리 사용 설정

활성 쿼리를 사용 설정하려면 다음 단계를 완료하세요.

  1. Google Cloud 콘솔에서 Cloud SQL 인스턴스 페이지로 이동합니다.

    Cloud SQL 인스턴스로 이동

  2. 인스턴스의 개요 페이지를 열려면 인스턴스 이름을 클릭합니다.
  3. 구성 타일에서 구성 수정을 클릭합니다.
  4. 쿼리 통계 창을 펼칩니다.
  5. 쿼리 통계 사용 설정 체크박스가 선택 해제되어 있으면 선택합니다. 쿼리 통계가 사용 설정된 경우 활성 쿼리를 사용할 수 있습니다.
  6. 저장을 클릭합니다.

활성 쿼리 보기

활성 쿼리를 보려면 다음 단계를 완료하세요.

  1. 활성 쿼리를 보려는 각 사용자에 대해 이 역할을 추가합니다.

  2. Google Cloud 콘솔에서 Cloud SQL 인스턴스 페이지로 이동합니다.

    Cloud SQL 인스턴스로 이동

  3. 인스턴스의 개요 페이지를 열려면 인스턴스 이름을 클릭합니다.

  4. 다음 중 하나를 수행하여 쿼리 통계 대시보드를 표시합니다.

    • 쿼리 통계 탭을 선택합니다.
    • 쿼리 통계로 이동하여 쿼리 및 성능에 대한 자세한 정보 보기를 클릭합니다. 쿼리 통계 대시보드가 열립니다. 상단에 인스턴스 세부정보가 표시됩니다.
  5. 활성 쿼리 탭을 클릭합니다.

    여기에서 가장 오래 실행 중인 트랜잭션 테이블에 표시되는 쿼리 정보를 수정할 수 있습니다.

    • 데이터베이스: 특정 데이터베이스 또는 모든 데이터베이스에서 쿼리 로드를 필터링합니다.
    • 사용자: 특정 사용자 계정의 쿼리 부하를 필터링합니다.

정규화된 활성 쿼리 보기

쿼리 통계 대시보드에서 정규화된 활성 쿼리와 함께 오래 실행 중인 상위 트랜잭션 목록을 볼 수 있습니다. 정규화된 활성 쿼리는 민감한 정보를 삭제하고 다이제스트를 반환합니다. 다이제스트는 다음 예시에 사용된 여러 값 모두 동일합니다.

  • 정규 쿼리

    • select * from test_table where id=1;
    • select * from test_table_where id=2;
  • 다이제스트 또는 정규화된 쿼리

    • select * from test_table where id=?;

다른 세션에서 실행되는 쿼리는 대시보드에 다른 항목으로 표시됩니다.

가장 오래 실행 중인 트랜잭션 보기

쿼리 통계 대시보드의 가장 오래 실행 중인 트랜잭션 테이블에는 다음 열이 포함됩니다.

열 이름 설명
세션 ID 세션의 고유 식별자입니다.
쿼리 SQL 쿼리 텍스트입니다.
세션 상태 세션 상태입니다.
쿼리 기간 쿼리가 실행된 기간입니다.
대기 이벤트 유형 쿼리 실행을 위해 요청이 차단된 경우 대기 이벤트 유형입니다.
차단 세션 ID 세션을 차단하는 세션의 ID입니다.
트랜잭션 대기 기간 세션이 차단된 경우 현재 대기 시간입니다.
수정된 트랜잭션 행 이 쿼리에서 클라이언트에 반환된 행 수입니다.
완료율 쿼리가 진행 상황을 보고하는 경우 완료된 작업의 비율입니다.
데이터베이스 세션이 실행되는 데이터베이스입니다.
애플리케이션 이름 세션을 시작한 애플리케이션의 이름입니다.
사용자 데이터베이스에 연결된 사용자의 이름입니다.
클라이언트 주소 쿼리를 보낸 클라이언트의 특정 IP 주소입니다.
작업 세션을 종료하기 위한 링크가 포함됩니다.

디스플레이가 60초마다 자동으로 새로고침됩니다.

세션 종료

쿼리 또는 트랜잭션을 종료하려면 databaseinsights.operationsAdmin 역할이 있어야 합니다. 자세한 내용은 IAM 기본 및 사전 정의된 역할 참조를 확인하세요.

쿼리 또는 트랜잭션을 종료하려면 Cloud SQL Enterprise Plus 버전의 쿼리 통계도 사용 설정되어야 합니다.

장기 실행 작업을 종료하는 데 시간이 더 오래 걸릴 수 있습니다.

쿼리 또는 트랜잭션을 종료하려면 다음 단계를 수행합니다.

  1. 가장 오래 실행 중인 트랜잭션 테이블에서 쿼리를 선택합니다.
  2. 작업 열에서 세션 종료를 클릭합니다.
  3. 세션 종료 창에서 확인을 클릭합니다.

다음 단계