AI 어시스턴스를 통해 느린 쿼리 문제 해결

이 문서에서는 Cloud SQL의 AI 어시스턴스를 사용하여 Cloud SQL에서 느린 쿼리 문제를 해결하는 방법을 설명합니다. Cloud SQL 및 Gemini Cloud Assist의 AI 어시스턴스 기능을 사용하여 추천을 조사 및 분석하고 가져와 최종적으로 이러한 추천을 구현하여 Cloud SQL에서 쿼리를 최적화할 수 있습니다.

시작하기 전에

AI 어시스턴스를 통해 느린 쿼리 문제를 해결하려면 다음을 수행합니다.

  1. AI 지원 문제 해결 제한사항 검토
  2. AI 지원 문제 해결 사용 설정

필수 역할 및 권한

AI 어시스턴스를 사용하여 느린 쿼리 문제를 해결하는 데 필요한 역할과 권한은 AI로 관찰 및 문제 해결을 참조하세요.

AI 어시스턴스 사용

느린 쿼리 문제 해결에 AI 어시스턴스를 사용하려면 Trusted Cloud 콘솔에서 Cloud SQL 인스턴스의 쿼리 통계 대시보드로 이동합니다.

상위 쿼리 테이블

쿼리 통계 대시보드의 상위 쿼리 테이블 섹션에서 AI 어시스턴스를 사용하여 느린 쿼리 문제 해결을 시작할 수 있습니다.

Cloud SQL을 사용하면 특정 감지 기간 동안 평균보다 느리게 수행되는 쿼리를 식별할 수 있습니다. 쿼리 통계 대시보드에서 기간을 선택하면 Cloud SQL은 선택한 기간이 끝나기 24시간 전의 감지 기간을 사용하여 평균보다 느리게 수행되는 쿼리가 있는지 확인합니다.

데이터베이스 부하 차트의 기간 필터 또는 다른 필터(예: 데이터베이스 또는 사용자)를 조정하면 Cloud SQL에서 상위 쿼리 테이블을 새로고침하고 새 쿼리 목록과 업데이트된 감지 기간을 기반으로 이상 감지를 다시 실행합니다.

쿼리 통계 데이터베이스 부하 차트

Cloud SQL에서 이상치를 감지하면 지연 시간 분석을 클릭한 후 쿼리에 대한 기준 성능 분석을 수행합니다. Cloud SQL은 이상치 중에 측정항목을 느린 쿼리에 매핑하고 성능 저하를 유발했을 수 있는 상황을 검색합니다. Cloud SQL에서 잠재적인 상황을 발견하면 상황에 대한 증거를 볼 수 있습니다. 마지막으로 Cloud SQL은 쿼리 성능을 수정하고 최적화할 수 있도록 추천을 제공합니다.

쿼리 통계 대시보드의 상위 쿼리 테이블에서 느린 쿼리 문제를 해결하려면 다음을 수행합니다.

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

    Cloud SQL 인스턴스로 이동

  2. 인스턴스의 개요 페이지를 열려면 인스턴스 이름을 클릭합니다.
  3. SQL 탐색 메뉴에서 쿼리 통계를 클릭합니다.
  4. 실행된 쿼리 차트에서 기간 필터를 사용하여 1시간, 6시간, 1일, 7일, 30일 또는 커스텀 기간을 선택합니다.
  5. 상위 쿼리 테이블에서 데이터베이스의 쿼리 목록을 검토합니다.
  6. 쿼리의 평균 실행 시간 옆에 지연 시간 분석이 표시되면 Cloud SQL에서 쿼리 성능의 이상치를 감지한 것입니다. Cloud SQL은 선택한 기간이 끝나기 전 24시간 동안 이상치를 확인합니다.
  7. 지연 시간 분석을 클릭하여 AI 어시스턴스로 문제 해결을 시작합니다. 그러면 쿼리 지연 시간 분석 페이지가 생성됩니다.
  8. 평균 실행 시간 옆에 지연 시간 분석이 표시되는 쿼리가 없으면 다음 중 하나가 이유일 수 있습니다.

쿼리 세부정보

쿼리 세부정보 페이지에서 AI 어시스턴스를 사용하여 느린 쿼리 문제를 해결할 수도 있습니다.

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

    Cloud SQL 인스턴스로 이동

  2. 인스턴스의 개요 페이지를 열려면 인스턴스 이름을 클릭합니다.
  3. 쿼리 통계를 클릭하여 쿼리 통계 대시보드를 엽니다.
  4. 쿼리 통계 대시보드의 상위 쿼리에서 보려는 쿼리를 클릭합니다. 쿼리 세부정보 페이지가 표시됩니다.
  5. Cloud SQL에서 쿼리 이상치를 감지하면 쿼리 세부정보 페이지에 다음 표시기가 하나 이상이 표시됩니다.
    • 세부정보 화면에 This query is slower than usual 메시지와 쿼리 성능 분석 옵션이 표시됩니다.
    • 느린 쿼리 메시지와 쿼리 성능 분석 옵션이 있는 쿼리 세부정보 화면
    • 쿼리 지연 시간 차트에 Query slower than usual 메시지가 표시됩니다. 이 메시지가 표시되면 분석을 클릭하여 AI 어시스턴스로 문제 해결을 시작합니다. 그러면 쿼리 지연 시간 분석 페이지가 생성됩니다.
    • 느린 쿼리 메시지와 분석 옵션이 있는 쿼리 지연 시간 차트
  6. 선택사항: 기간 필터를 사용하여 1시간, 6시간, 1일, 7일, 30일 또는 커스텀 범위를 선택합니다. 쿼리 세부정보 페이지의 기간 필터 또는 다른 필터(예: 데이터베이스 또는 사용자)를 조정하면 Cloud SQL에서 이상 감지를 다시 실행합니다.
  7. Cloud SQL에서 쿼리의 이상치를 감지하지 못하더라도 쿼리 성능 분석을 클릭하여 쿼리를 계속 분석할 수 있습니다. 그러면 쿼리 지연 시간 분석 페이지가 생성됩니다.

쿼리 지연 시간 분석

AI 어시스턴스를 사용하여 쿼리 지연 시간 세부정보를 분석하고 문제를 해결할 수 있습니다.

쿼리 지연 시간 분석 페이지에서 쿼리와 쿼리 텍스트에 대한 다음 세부정보를 볼 수 있습니다.

쿼리 분석 정보 화면

또한 이 페이지에는 선택한 기간 동안 P50, P95, P99 지연 시간 값을 보여주는 지연 시간 차트가 제공됩니다. P50은 쿼리 사용자의 50%에서 높은 지연 시간을 경험하고 50%에서 낮은 지연 시간을 경험하는 중간 지연 시간을 보여줍니다. 마찬가지로 P95 및 P99 선은 쿼리 사용자의 95% 및 99%에서 표시된 쿼리 지연 시간을 경험한다는 것을 보여줍니다. P95의 경우 5%에서 더 높은 지연 시간을 경험하고 P99의 경우 1%만 더 높은 지연 시간을 경험합니다.

쿼리 지연 시간이 크게 증가한 특정 기간을 확인할 수 있습니다.

P50, P95, P99 지연 시간 값이 표시된 쿼리 지연 시간 차트

분석 기간

분석 기간은 쿼리 통계 대시보드 또는 쿼리 세부정보 페이지의 데이터베이스 부하 차트에서 선택한 기간이 끝나기 전 24시간으로 구성됩니다. Cloud SQL은 이 기간을 사용하여 기준 측정항목을 이상치 기간 동안 검색된 측정항목과 비교합니다.

Cloud SQL이 쿼리에서 이상치를 감지한 경우 쿼리 세부정보 페이지의 쿼리 통계 대시보드에서 쿼리를 선택하면 Cloud SQL이 이상치 종료로부터 지난 24시간을 사용하여 쿼리의 기준 성능 분석을 수행합니다. Cloud SQL에서 쿼리의 이상치를 감지하지 못하고 쿼리에 대한 이상 감지를 다시 실행하면 Cloud SQL은 선택한 시간 범위가 끝나기 전 48시간을 분석 기간의 성능 기준으로 사용합니다.

이상치가 감지된 기간

감지된 이상치 기간은 Cloud SQL에서 쿼리 성능의 비정상적인 변화를 발견한 기간을 나타냅니다. Cloud SQL은 분석 기간 동안 쿼리에 대해 측정된 기준 성능을 사용합니다.

Cloud SQL에서 선택한 기간 내에 쿼리 이상치를 여러 개 감지하면 Cloud SQL에서 마지막으로 감지된 이상치를 사용합니다.

상황

조사를 시작하면 Cloud SQL에서 쿼리와 이전 데이터를 분석하고 선택한 기간 동안 쿼리 성능이 느려진 이유를 설명할 수 있는 기본 상황을 식별하려고 시도합니다.

예를 들어 쿼리가 느린 이유 중 하나는 쿼리 데이터 볼륨 변화로 식별될 수 있습니다.

이 특정 상황을 식별하는 과정에서 Cloud SQL은 이 쿼리의 데이터 볼륨이 비정상적으로 증가했음을 감지했습니다. Cloud SQL은 이상치가 감지되지 않는 다른 가능한 상황도 나열하므로 이를 가능한 근본 원인으로 제거할 수 있습니다.

상황과 증거를 포함한 느린 쿼리 분석 결과

증거

상황마다 Cloud SQL은 발견 사항을 뒷받침하는 증거 목록을 제공합니다. Cloud SQL은 인스턴스, 데이터베이스, 이전 쿼리 실행에서 수집된 측정항목에 대한 증거를 기반으로 합니다.

각 상황에 대해 표시되는 증거는 Cloud SQL에서 감지 기간 내에 쿼리에 대해 감지한 이상치를 반영합니다. Cloud SQL은 측정항목이 특정 기준점을 초과하거나 특정 기준을 충족하는 경우를 이상치로 정의합니다.

이 예시에서 쿼리 데이터 볼륨 변화 상황을 지원하기 위해 다음과 같은 증거가 표시될 수 있습니다.

  • 쿼리가 처리하는 데이터: 쿼리에서 처리하는 평균 데이터가 최대 555.72% 증가했습니다.
  • 쿼리 실행 시간: 평균 실행 시간이 최대 2289.19% 증가했습니다.
  • 공유된 차단 적중: 공유된 평균 차단 적중이 6628.05% 증가했습니다.

다음과 같이 일반적이거나 이상치가 아닌 쿼리 성능을 뒷받침하는 증거가 표시될 수도 있습니다.

  • 반환된 행: 큰 변화가 감지되지 않았습니다.
  • 데이터 처리 시간: 변화를 평가하는 데 데이터가 부족합니다.

표준 쿼리 실행 증거는 구현하기에 더 적합한 추천을 결정하는 데 도움이 됩니다.

추천

분석된 모든 상황을 기반으로 Cloud SQL은 느린 쿼리 성능 관련 문제를 해결하는 데 도움이 되는 실행 가능한 추천을 하나 이상 제공합니다. 이 경우 Cloud SQL은 정보에 입각하여 추천 구현 여부를 결정할 수 있도록 비용 편익 분석과 함께 추천을 제시합니다.

예를 들어 다음과 같은 추천을 받을 수 있습니다.

동시 실행 문제를 해결하고 쿼리를 최적화하기 위한 추천

  • 색인을 만들고 통계를 업데이트하여 쿼리 성능 최적화:

    영향을 받는 쿼리의 성능을 최적화하는 데 도움이 되는 구체적인 작업을 나열합니다. 이 예시에서 추천은 쿼리 성능이 향상되도록 covid_data 테이블의 국가 열에 B-TREE 색인을 만들라고 제안합니다. 이렇게 하면 쿼리 플래너가 조인 작업에 순차 스캔 대신 효율적인 색인 스캔을 사용하므로 처리되는 행 수가 줄어듭니다.

    추천에서는 테이블 통계를 업데이트하는 SQL 문도 제공합니다.

    추천 이유: 도움말에는 특정 추천 카테고리가 제공된 이유를 설명하는 유용한 컨텍스트가 제공됩니다.

    색인 추천: 쿼리 성능 문제를 해결하는 데 도움이 되는 추천 SQL 명령어가 포함된 패널을 엽니다. 쿼리 성능 개선을 위한 색인 만들기

    쿼리 통계: 쿼리 통계 대시보드에 대한 링크를 제공합니다.

    추천의 세부정보 섹션에 제공된 제안을 자세히 알아보려면 관련 Cloud SQL 및 오픈소스 문서 링크를 사용하면 됩니다.

계속해서 문제를 해결하거나 쿼리 성능에 대한 추가 지원을 받으려면 Gemini Cloud Assist를 열어도 됩니다. 자세한 내용은 AI 어시스턴스로 관찰 및 문제 해결을 참조하세요.

다음 단계