이 페이지에서는 쿼리 통계 대시보드를 사용하여 쿼리의 성능 문제를 감지하고 분석하는 방법을 설명합니다.
소개
쿼리 통계는 Cloud SQL 데이터베이스의 쿼리 성능 문제를 감지하고 진단하고 방지하는 데 도움이 됩니다. 직관적인 모니터링을 지원하고 성능 문제를 감지하는 것뿐만 아니라 근본 원인까지 파악하는 데 도움을 주는 진단 정보를 제공합니다.
쿼리 통계는 다음 단계에 대한 안내를 통해 Cloud SQL 쿼리 성능을 향상시킬 수 있게 해줍니다.
Cloud SQL Enterprise Plus 버전의 쿼리 통계
Cloud SQL Enterprise Plus 버전을 사용하는 경우 쿼리 통계의 추가 기능을 이용해서 고급 쿼리 성능 진단을 수행할 수 있습니다. 쿼리 통계 대시보드의 표준 기능 외에도 Cloud SQL Enterprise Plus 버전의 쿼리 통계를 이용해서 다음을 수행할 수 있습니다.
- 긴 쿼리 텍스트(최대 20KB) 캡처
- 실행된 모든 쿼리의 쿼리 계획 캡처
- 쿼리 계획을 분당 최대 200개까지 샘플링
- 30일 이상 측정항목 보관
- 색인 도우미에서 색인 추천 받기
- 활성 쿼리에서 세션이나 장기 실행 트랜잭션 종료
- AI 지원 문제 해결(프리뷰)에 액세스
다음 테이블에서는 Cloud SQL Enterprise 버전의 쿼리 통계 기능과 기능적 요구사항을 Cloud SQL Enterprise Plus 버전의 쿼리 통계와 비교해서 보여줍니다.
비교 영역 | Cloud SQL Enterprise 버전의 쿼리 통계 | Cloud SQL Enterprise Plus 버전의 쿼리 통계 |
---|---|---|
지원되는 데이터베이스 버전 |
다음 인스턴스의 모든 버전:
SQL Server Express 버전 인스턴스에서는 쿼리 통계가 지원되지 않습니다. |
SQL Server Enterprise 버전 2019 또는 2022 |
지원되는 머신 유형 | 모든 머신 유형에서 지원됨 | 공유 코어 머신 유형을 사용하는 인스턴스에서 지원되지 않음 |
지원되는 리전 | Cloud SQL 리전 위치 | Cloud SQL Enterprise Plus 버전 리전 위치 |
측정항목 보관 기간 | 7일 | 30일 |
쿼리 길이 한도 최댓값 | 4500바이트 | 20KB |
쿼리 계획 샘플 최댓값 | 사용할 수 없음 | 200 |
색인 도우미 추천 | 사용 불가능 | 사용 가능 |
활성 쿼리에서 세션이나 장기 실행 트랜잭션 종료 | 사용 불가능 | 사용 가능 |
AI 지원 문제 해결(프리뷰) | 사용 불가능 | 사용 가능 |
Cloud SQL Enterprise Plus 버전의 쿼리 통계 사용 설정
Cloud SQL Enterprise Plus 버전의 쿼리 통계를 사용 설정하려면 Cloud SQL Enterprise Plus 버전 인스턴스에서 쿼리 통계를 사용 설정할 때 Enterprise Plus 기능 사용 설정을 선택합니다.
가격 책정
Cloud SQL Enterprise 버전 인스턴스나 Cloud SQL Enterprise Plus 버전 인스턴스의 쿼리 통계를 사용하는 데 추가 비용이 발생하지 않습니다.
스토리지 요구사항
쿼리 통계는 인스턴스에 측정항목 데이터를 저장하며 자동 스토리지 증가 설정을 사용 설정해야 합니다. 여기에는 해당하는 스토리지 요금이 적용됩니다.
측정항목 스토리지 제한사항
Cloud SQL Enterprise Plus 버전 인스턴스의 쿼리 통계에는 다음 제한사항이 적용됩니다.
- 인스턴스에 과도한 시스템 부하가 있으면 쿼리 통계 대시보드에서 측정항목 데이터를 쿼리할 때 쿼리가 느리게 로드되거나 타임아웃될 수 있습니다.
- 읽기 복제본을 다시 만들면 다시 만든 읽기 복제본에서 이전 측정항목 기록이 유지되지 않습니다.
- 오래된 백업으로 인스턴스를 복원하면 백업 시간과 Cloud SQL Enterprise Plus 버전의 쿼리 통계에 대한 인스턴스를 복원하는 시간 사이의 측정항목이 손실될 수 있습니다. 예를 들어 4월 25일에 생성된 백업으로 4월 30일에 인스턴스를 복원하면 4월 25일과 4월 30일 사이의 모든 측정항목이 손실될 수 있습니다.
시작하기 전에
쿼리 통계를 사용하기 전에 다음을 수행하세요.
- 필수 역할 및 권한을 추가합니다.
- Cloud Trace API를 사용 설정합니다.
- Cloud SQL Enterprise 버전의 쿼리 통계나 Cloud SQL Enterprise Plus 버전의 쿼리 통계를 사용하는 경우 자동 스토리지 증가 사용 설정이 인스턴스에 사용 설정되었는지 확인합니다.
필수 역할 및 권한
쿼리 통계를 사용하려면 사전 정의된 역할을 부여하거나 커스텀 역할을 만들거나 필요한 Identity and Access Management 권한이 있는 사용자 계정을 제공해야 합니다.
역할 부여에 대한 자세한 내용은 액세스 관리를 참조하세요.
쿼리 통계 대시보드에서 과거 쿼리 실행 데이터에 액세스하는 데 필요한 권한을 얻으려면 관리자에게 Cloud SQL 인스턴스를 호스팅하는 프로젝트에 대해 다음 IAM 역할을 부여해 달라고 요청하세요.
-
데이터베이스 통계 모니터링 뷰어(
roles/databaseinsights.monitoringViewer
) -
Cloud SQL 뷰어(
roles/cloudsql.viewer
)
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
이러한 사전 정의된 역할에는 쿼리 통계 대시보드에서 과거 쿼리 실행 데이터에 액세스하는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 펼치세요.
필수 권한
쿼리 통계 대시보드에서 과거 쿼리 실행 데이터에 액세스하려면 다음 권한이 필요합니다.
-
databaseinsights.aggregatedStats.query
-
databaseinsights.timeSeries.query
커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다.
예를 들어 Database Insights에서 관리자에게 데이터베이스 통계 뷰어(roles/databaseinsights.viewer
) 사전 정의된 역할을 부여해 달라고 요청할 수 있습니다. 그런 후 Cloud SQL에서 관리자에게 다음 사전 정의된 역할 중 하나를 부여해 달라고 요청할 수 있습니다.
- Cloud SQL 편집자(
roles/cloudsql.editor
) - Cloud SQL 관리자(
roles/cloudsql.admin
)
Cloud Trace API 사용 설정
쿼리 계획과 엔드 투 엔드 뷰를 보려면 Google Cloud 프로젝트에 Cloud Trace API가 사용 설정되어 있어야 합니다. 이 설정을 사용하면Google Cloud 프로젝트가 인증된 소스에서 trace 데이터를 추가 비용 없이 수신할 수 있습니다. 이 데이터를 사용하면 인스턴스의 성능 문제를 감지하고 진단할 수 있습니다.
Cloud Trace API가 사용 설정되었는지 확인하려면 다음 단계를 수행합니다.
- Google Cloud 콘솔에서 API 및 서비스로 이동합니다.
- API 및 서비스 사용 설정을 클릭합니다.
- 검색창에
Cloud Trace API
를 입력합니다. - API 사용 설정됨이 표시된 경우는 이 API가 사용 설정되어 있으므로 아무 조치를 하지 않아도 됩니다. 그렇지 않은 경우에는 사용 설정을 클릭합니다.
저장용량 자동 증가 사용 설정
Cloud SQL Enterprise Plus 버전의 쿼리 통계를 사용하는 경우 자동 스토리지 증가 사용 설정 인스턴스 설정이 사용 설정된 상태로 유지되는지 확인합니다. 기본적으로 이 옵션은 Cloud SQL 인스턴스에 사용 설정되어 있습니다.
이전에 이 인스턴스 설정을 사용 중지했고 Cloud SQL Enterprise Plus 버전의 쿼리 통계를 사용 설정하려면 먼저 자동 스토리지 증가를 다시 사용 설정합니다. 자동 스토리지 증가를 사용 중지하고 Cloud SQL Enterprise Plus 버전의 쿼리 통계를 사용 설정할 수는 없습니다.
쿼리 통계 사용 설정
쿼리 통계를 사용 설정하면 다른 모든 작업이 일시 정지됩니다. 이러한 작업에는 상태 점검, 로깅, 모니터링 및 기타 인스턴스 작업이 포함됩니다.
콘솔
인스턴스에 쿼리 통계 사용 설정
-
Google Cloud 콘솔에서 Cloud SQL 인스턴스 페이지로 이동합니다.
- 인스턴스의 개요 페이지를 열려면 인스턴스 이름을 클릭합니다.
- 구성 타일에서 구성 수정을 클릭합니다.
- 인스턴스 맞춤설정 섹션에서 쿼리 통계를 확장합니다.
- 쿼리 통계 사용 설정 체크박스를 선택합니다.
- 선택사항: 인스턴스의 추가 기능을 선택합니다. 일부 기능은 Cloud SQL Enterprise Plus 버전에서만 사용 가능합니다.
- 저장을 클릭합니다.
기능 | 설명 | Cloud SQL Enterprise 버전 | Cloud SQL Enterprise Plus 버전 |
---|---|---|---|
Enterprise Plus 기능 사용 설정 | Cloud SQL Enterprise Plus 버전의 쿼리 통계를 사용 설정하려면 이 체크박스를 선택합니다. Cloud SQL Enterprise Plus 버전의 쿼리 통계를 사용하면 활성 쿼리에서 세션과 장기 실행 트랜잭션을 종료하고 쿼리 처리 속도를 높이는 데 도움이 되는 색인 도우미 추천을 사용 설정하고 측정항목 데이터 보관 기간을 30일까지 늘릴 수 있습니다. Cloud SQL Enterprise Plus 버전의 쿼리 통계를 사용 설정하면 색인 도우미 추천이 자동으로 사용 설정됩니다. 색인 도우미 추천을 사용 중지하려면 이 체크박스를 선택 해제합니다. 색인 도우미 추천 및 AI 지원 문제 해결(프리뷰)을 사용 설정하려면 이 체크박스를 선택해야 합니다. | 사용 불가능 | 사용 가능
기본값: 사용 중지됨 |
AI 지원 문제 해결 | 성능 이상 감지, 근본 원인 및 상황 분석을 사용 설정하고 쿼리 및 데이터베이스 문제를 해결하기 위한 추천을 받으려면 이 체크박스를 선택합니다. 이 기능은 프리뷰 버전이며 Google Cloud 콘솔을 통해서만 이 기능을 사용 설정하고 액세스할 수 있습니다. 자세한 내용은 AI 어시스턴스를 사용하여 관찰 및 문제 해결을 참조하세요. | 사용 불가능 | 사용 가능
기본값: 사용 중지됨 |
쿼리 길이 맞춤설정 |
쿼리 문자열 길이 한도를 맞춤설정하려면 이 체크박스를 선택합니다.
쿼리 길이가 길수록 분석 쿼리에 더 유용하지만 더 많은 메모리가 필요합니다.
지정된 한도를 초과하는 쿼리 문자열은 잘려서 표시됩니다. 쿼리 길이 한도를 변경하려면 인스턴스를 다시 시작해야 합니다. |
한도를 256 ~4500 바이트까지 바이트 단위로 설정할 수 있습니다.
기본값: 1024 .
|
한도를 256 ~20480 까지 바이트 단위로 지정할 수 있습니다.
기본값: 10240 바이트(10KB)
|
최대 샘플링 레이트 설정 | 최대 샘플링 레이트를 설정하려면 이 체크박스를 선택합니다. 샘플링 레이트는 인스턴스의 모든 데이터베이스에 1분당 캡처되는 실행된 쿼리 계획 샘플 수입니다. 샘플링 레이트를 늘리면 더 많은 데이터 포인트를 얻을 가능성이 있지만 성능 오버헤드가 증가할 수 있습니다. | 이 값을 0 ~20 까지의 숫자로 변경합니다.
기본값: 5 .
|
최댓값을 200 으로 늘려 더 많은 데이터 포인트를 제공할 수 있습니다.
기본값: 5 .
|
여러 인스턴스에 쿼리 통계 사용 설정
-
Google Cloud 콘솔에서 Cloud SQL 인스턴스 페이지로 이동합니다.
- 행에서 작업 더보기 메뉴를 클릭합니다.
- 쿼리 통계 사용 설정을 선택합니다.
- 대화상자에서 여러 인스턴스에 쿼리 통계 사용 설정 체크박스를 선택합니다.
- 사용 설정을 클릭합니다.
- 이후 대화상자에서 쿼리 통계를 사용 설정할 인스턴스를 선택합니다.
- 쿼리 통계 사용 설정을 클릭합니다.
gcloud
gcloud
를 사용하여 Cloud SQL 인스턴스에 쿼리 통계를 사용 설정하려면 INSTANCE_ID를 인스턴스의 ID로 바꾼 후 다음과 같이 --insights-config-query-insights-enabled
플래그와 함께 gcloud sql instances patch
를 실행합니다.
Cloud SQL Enterprise Plus 버전 인스턴스의 쿼리 통계를 사용 설정하면 자동으로 색인 도우미 추천이 사용 설정됩니다.
gcloud sql instances patch INSTANCE_ID \ --insights-config-query-insights-enabled
또한 다음 선택적인 플래그를 하나 이상 사용합니다.
--insights-config-query-string-length
기본 쿼리 길이 한도를 설정합니다. 쿼리 길이가 길수록 분석 쿼리에 더 유용하지만 더 많은 메모리가 필요합니다. 쿼리 길이를 변경하려면 인스턴스를 다시 시작해야 합니다. Cloud SQL Enterprise 버전의 경우 값을
256
~4500
까지 바이트 단위로 지정할 수 있습니다. 기본 쿼리 길이는1024
바이트입니다. Cloud SQL Enterprise Plus 버전의 경우 한도를256
~20480
까지 바이트 단위로 지정할 수 있습니다. 기본값은10240
바이트(10KB)입니다.--insights-config-query-plans-per-minute
기본적으로 인스턴스의 모든 데이터베이스에서 실행된 쿼리 계획 샘플이 분당 최대 5개까지 캡처됩니다. 샘플링 레이트를 늘리면 더 많은 데이터 포인트를 얻을 가능성이 있지만 성능 오버헤드가 추가될 수 있습니다. 샘플링을 사용 중지하려면 이 값을
0
으로 설정합니다. Cloud SQL Enterprise 버전의 경우 값을 0~20까지 변경할 수 있습니다. Cloud SQL Enterprise Plus 버전의 경우 최대 200까지 늘려 더 많은 데이터 포인트를 제공할 수 있습니다.
다음을 바꿉니다.
- INSIGHTS_CONFIG_QUERY_STRING_LENGTH: 저장할 쿼리 문자열 길이(바이트)입니다.
- API_TIER_STRING: 인스턴스에 사용할 커스텀 인스턴스 구성입니다.
- REGION: 인스턴스의 리전입니다.
gcloud sql instances patch INSTANCE_ID \ --insights-config-query-insights-enabled \ --insights-config-query-string-length=INSIGHTS_CONFIG_QUERY_STRING_LENGTH \ --insights-config-query-plans-per-minute=QUERY_PLANS_PER_MINUTE \ --tier=API_TIER_STRING \ --region=REGION
REST v1
REST API를 사용해서 Cloud SQL 인스턴스에 대해 쿼리 통계를 사용 설정하려면 insightsConfig
설정을 사용해서 instances.patch
메서드를 호출합니다.
Cloud SQL Enterprise Plus 버전 인스턴스의 쿼리 통계를 사용 설정하면 자동으로 색인 도우미 추천이 사용 설정됩니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- PROJECT_ID: 프로젝트 ID
- INSTANCE_ID: 인스턴스 ID
HTTP 메서드 및 URL:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID
JSON 요청 본문:
{ "settings" : { "insightsConfig" : { "queryInsightsEnabled" : true, "recordClientAddress" : true, "queryStringLength" : 1024, "queryPlansPerMinute" : 20, } } }
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID", "status": "PENDING", "user": "user@example.com", "insertTime": "2025-03-28T22:43:40.009Z", "operationType": "UPDATE", "name": "OPERATION_ID", "targetId": "INSTANCE_ID", "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID", "targetProject": "PROJECT_ID" }
Terraform
Terraform을 사용하여 Cloud SQL 인스턴스에 대한 쿼리 통계를 사용 설정하려면 query_insights_enabled
플래그를 true
로 설정합니다.
Cloud SQL Enterprise Plus 버전 인스턴스의 쿼리 통계를 사용 설정하면 자동으로 색인 도우미 추천이 사용 설정됩니다.
또한 다음과 같은 선택적인 플래그를 하나 이상 사용할 수 있습니다.
query_string_length
: Cloud SQL Enterprise 버전의 경우 값을256
~4500
까지 바이트 단위로 지정할 수 있습니다. 기본 쿼리 길이는1024
바이트입니다. Cloud SQL Enterprise Plus 버전의 경우 한도를256
~20480
까지 바이트 단위로 지정할 수 있습니다. 기본값은10240
바이트(10KB)입니다.record_client_address
: 클라이언트 IP 주소를 기록하려면 값을true
로 설정합니다. 기본값은false
입니다.-
query_plans_per_minute
: Cloud SQL Enterprise 버전의 경우 값을0
~20
까지 설정할 수 있습니다. 기본값은5
입니다. Cloud SQL Enterprise Plus 버전의 경우 최대200
까지 늘려 더 많은 데이터 포인트를 제공할 수 있습니다.
예를 들면 다음과 같습니다.
프로젝트에 Terraform 구성을 적용하려면 Google Cloud 다음 섹션의 단계를 완료하세요.
Cloud Shell 준비
- Cloud Shell을 실행합니다.
-
Terraform 구성을 적용할 기본 Google Cloud 프로젝트를 설정합니다.
이 명령어는 프로젝트당 한 번만 실행하면 되며 어떤 디렉터리에서도 실행할 수 있습니다.
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
Terraform 구성 파일에서 명시적 값을 설정하면 환경 변수가 재정의됩니다.
디렉터리 준비
각 Terraform 구성 파일에는 자체 디렉터리(루트 모듈이라고도 함)가 있어야 합니다.
-
Cloud Shell에서 디렉터리를 만들고 해당 디렉터리 내에 새 파일을 만드세요. 파일 이름에는
.tf
확장자가 있어야 합니다(예:main.tf
). 이 튜토리얼에서는 파일을main.tf
라고 합니다.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
튜토리얼을 따라 하는 경우 각 섹션이나 단계에서 샘플 코드를 복사할 수 있습니다.
샘플 코드를 새로 만든
main.tf
에 복사합니다.필요한 경우 GitHub에서 코드를 복사합니다. 이는 Terraform 스니펫이 엔드 투 엔드 솔루션의 일부인 경우에 권장됩니다.
- 환경에 적용할 샘플 파라미터를 검토하고 수정합니다.
- 변경사항을 저장합니다.
-
Terraform을 초기화합니다. 이 작업은 디렉터리당 한 번만 수행하면 됩니다.
terraform init
원하는 경우 최신 Google 공급업체 버전을 사용하려면
-upgrade
옵션을 포함합니다.terraform init -upgrade
변경사항 적용
-
구성을 검토하고 Terraform에서 만들거나 업데이트할 리소스가 예상과 일치하는지 확인합니다.
terraform plan
필요에 따라 구성을 수정합니다.
-
다음 명령어를 실행하고 프롬프트에
yes
를 입력하여 Terraform 구성을 적용합니다.terraform apply
Terraform에 '적용 완료' 메시지가 표시될 때까지 기다립니다.
- 결과를 보려면 Google Cloud 프로젝트를 엽니다. Google Cloud 콘솔에서 UI의 리소스로 이동하여 Terraform이 리소스를 만들었거나 업데이트했는지 확인합니다.
쿼리 완료 후 수분 내에 쿼리 통계에서 측정항목을 사용할 수 있습니다.
쿼리 통계 대시보드 보기
쿼리 통계 대시보드에는 선택한 요소를 기반으로 쿼리 부하가 표시됩니다. 쿼리 부하는 선택한 기간 내의 인스턴스에 있는 모든 쿼리의 전체 작업을 측정한 것입니다. 대시보드는 쿼리 부하를 볼 수 있는 일련의 필터를 제공합니다.
쿼리 통계 대시보드를 열려면 다음 단계를 수행합니다.
- 인스턴스의 개요 페이지를 열려면 인스턴스 이름을 클릭합니다.
- Cloud SQL 탐색 메뉴에서 쿼리 통계를 클릭하거나 인스턴스 개요 페이지에서 쿼리 통계로 이동하여 쿼리 및 성능에 대한 자세한 정보 보기를 클릭합니다.
쿼리 통계 대시보드가 열립니다. Cloud SQL Enterprise 버전의 쿼리 통계 또는 Cloud SQL Enterprise Plus 버전의 쿼리 통계를 사용하는지 여부에 따라 쿼리 통계 대시보드에 인스턴스에 대한 다음 정보가 표시됩니다.

- 데이터베이스: 특정 데이터베이스 또는 모든 데이터베이스의 쿼리 부하를 필터링합니다.
- 기간: 1시간, 6시간, 1일, 7일, 30일 또는 커스텀 범위와 같은 기간별로 쿼리 부하를 필터링합니다.
- 데이터베이스 부하 그래프: 필터링된 데이터를 기반으로 쿼리 부하 그래프를 표시합니다.
- 쿼리 및 데이터베이스: 선택한 쿼리 또는 선택한 데이터베이스에 따라 쿼리 부하를 필터링합니다. 데이터베이스 부하 필터링을 참조하세요.
모든 쿼리의 데이터베이스 부하를 확인합니다.
데이터베이스 쿼리 부하는 선택한 데이터베이스에서 실행된 쿼리가 시간에 따라 수행하는 작업을 측정한 값(CPU-초)입니다. 실행 중인 각 쿼리는 CPU 리소스, IO 리소스 또는 잠금 리소스를 사용하거나 대기합니다. 데이터베이스 쿼리 부하는 지정된 기간에 완료된 모든 쿼리에 걸린 시간과 실제로 경과한 시간의 비율입니다.
최상위 쿼리 통계 대시보드에는 실행 시간별 데이터베이스 부하 그래프가 표시됩니다. 데이터베이스의 드롭다운 메뉴를 사용하여 모든 데이터베이스 또는 특정 데이터베이스에 대해 그래프를 필터링할 수 있습니다.

그래프에서 색상이 지정된 선은 실행 시간별 데이터베이스당 부하를 나타냅니다. 그래프를 검토하고 필터링 옵션을 사용하여 다음 질문에 답하세요.
- 쿼리 부하가 높은가요? 시간이 지남에 따라 그래프가 급증하거나 상승했나요? 높은 부하가 없으면 쿼리에 문제가 없는 것입니다.
- 부하는 얼마 동안 높은 상태였나요? 지금만 높은가요? 아니면 오랜 시간 동안 높았나요? 범위 선택기를 사용하여 여러 기간을 선택해서 문제가 지속된 기간을 확인합니다. 쿼리 부하 급증이 관측된 기간을 확인하려면 화면을 확대합니다. 타임라인을 최대 1주까지 표시하려면 화면을 축소합니다.
- 어떤 데이터베이스에서 부하가 발생하나요? 데이터베이스 드롭다운 메뉴에서 다른 데이터베이스를 선택하여 부하가 가장 높은 데이터베이스를 찾습니다.
데이터베이스 부하 필터링
쿼리별로 데이터베이스 부하를 필터링할 수 있습니다. Cloud SQL Enterprise Plus 버전의 쿼리 통계를 사용 중이면 다음 측정기준을 사용해서 표시된 데이터를 세분화하도록 데이터베이스 부하 차트를 맞춤설정할 수 있습니다.모든 쿼리
데이터베이스
데이터베이스 부하 차트를 맞춤설정하려면 실행 시간별 데이터베이스 부하 드롭다운에서 측정기준을 선택합니다.
데이터베이스 부하별 상위 측정기준 보기
데이터베이스 부하에 가장 큰 영향을 미치는 요소를 보려면 데이터베이스 부하별 상위 측정기준 테이블을 사용하세요. 데이터베이스 부하별 상위 측정기준 테이블에는 실행 시간별 데이터베이스 부하 차트 드롭다운에서 선택한 기간 및 측정기준에 대해 가장 큰 기여도를 보인 항목이 표시됩니다. 기간 또는 측정기준을 수정하여 여러 다른 측정기준 또는 기간의 상위 요소를 볼 수 있습니다.
데이터 부하별 상위 측정기준 테이블에서 다음 탭을 선택할 수 있습니다.
탭 | 설명 |
---|---|
쿼리 | 테이블에 총 실행 시간별로 상위 정규화된 쿼리가 표시됩니다.
각 쿼리에 대해 열에 표시되는 데이터는 다음과 같이 나열됩니다.
|
데이터베이스 | 이 테이블에서는 선택한 기간 동안 실행된 모든 쿼리에서 부하에 기여한 상위 데이터베이스의 목록을 보여줍니다.
|
쿼리로 필터링
상위 쿼리 테이블에서는 쿼리 부하가 가장 많이 발생하는 쿼리를 간략하게 보여줍니다. 테이블에는 쿼리 통계 대시보드에서 선택한 기간과 옵션에 대한 정규화된 모든 쿼리가 나와 있습니다. 선택한 기간 동안의 총 실행 시간을 기준으로 쿼리를 정렬합니다.
테이블을 정렬하려면 열 제목을 선택합니다.
테이블에는 다음 속성이 표시됩니다.
- 쿼리: 정규화된 쿼리 문자열입니다. 기본적으로 쿼리 통계에는 쿼리 문자열이 1,024자까지만 표시됩니다.
- 데이터베이스: 쿼리가 실행된 데이터베이스입니다.
- 추천: 쿼리 성능을 향상시키기 위한 제안된 추천입니다(예: 색인 만들기).
- 평균 실행 시간(밀리초): 쿼리가 실행되는 평균 시간입니다.
- 총 실행 시간(밀리초): 쿼리가 실행되는 총 시간입니다.
- 호출된 횟수: 애플리케이션이 쿼리를 호출한 횟수입니다.
- 반환된 행 평균: 쿼리로 반환된 평균 행 수입니다.
쿼리 통계는 정규화된 쿼리만 저장하고 표시합니다.
샘플링된 쿼리 계획의 작업 검사
쿼리 계획은 쿼리의 샘플을 가져와서 개별 작업으로 나눕니다. 쿼리의 각 작업을 설명하고 분석합니다.
쿼리 계획 샘플 그래프에는 특정 시간에 실행되는 모든 쿼리 계획과 각 계획을 실행하는 데 걸린 시간이 표시됩니다. 쿼리 계획 샘플이 분당 캡처되는 속도를 변경할 수 있습니다. 쿼리 통계 사용 설정을 참조하세요.

기본적으로 오른쪽 패널에는 쿼리 계획 샘플 그래프에 표시된 대로 가장 오래 걸리는 샘플 쿼리 계획의 세부정보가 표시됩니다. 다른 샘플 쿼리 계획의 세부정보를 보려면 그래프에서 관련 원을 클릭합니다. 세부정보를 펼치면 쿼리 계획의 모든 작업 모델이 표시됩니다.
각 작업에는 반환된 행과 사용 가능한 경우 작업 비용이 표시됩니다. 전체 화면 보기 또는

다음 질문을 확인하여 문제의 범위를 좁혀 보세요.
- 리소스 소비란 무엇인가요?
- 다른 쿼리와는 어떤 연관이 있나요?
- 시간이 지나면 소비가 달라지나요?
쿼리 세부정보 기능
쿼리 세부정보는 평균 실행 시간, 호출된 횟수, 반환된 평균 행 수를 포함한 특정 쿼리에 대한 자세한 정보를 제공할 수 있습니다. 또한 쿼리 성능을 향상시키는 데 도움이 되는 색인과 같은 추천을 제공할 수 있습니다.
쿼리 세부정보는 다음 측정항목도 제공합니다.
- 쿼리 계획 샘플: 이러한 샘플은 쿼리 샘플의 여러 작업에 대한 분석을 제공하여 쿼리를 설명하고 분석하는 데 도움이 됩니다.
- 시간 경과에 따른 쿼리 실행 횟수: 지정된 기간 동안 쿼리가 완료된 횟수를 보여줍니다. 이 차트를 사용하면 쿼리가 일반적으로 실행되는 시점을 더욱 효율적으로 파악하고 쿼리가 인스턴스 성능에 미치는 영향을 추정할 수 있습니다.
- 시간 경과에 따른 반환된 평균 행: 시간 경과에 따라 쿼리에서 반환된 평균 행 수를 보여줍니다. 이 데이터를 사용하면 평소보다 느린 쿼리와 해당 쿼리에서 반환된 데이터 양의 증가를 연계시킬 수 있습니다.
- I/O 통계: 다음 필터를 포함하여 쿼리의 입력 및 출력 통계를 보여줍니다.
- 평균 논리적 읽기
- 평균 물리적 읽기
- 평균 논리적 쓰기
I/O 측정항목을 사용하면 평소보다 느린 쿼리와 더욱 집약적인 I/O 사용량 또는 I/O 패턴 변경사항을 연계시킬 수 있습니다.
예를 들어 논리적 읽기 수가 증가한 경우 이는 쿼리가 평소보다 많은 데이터를 읽기 시작했다는 의미일 수 있습니다. 물리적 읽기 수가 증가한 경우 이는 Cloud SQL에서 버퍼 캐시가 아닌 디스크에서 더 많은 데이터를 읽기 시작했다는 의미일 수 있습니다. 예를 들어 모든 데이터를 캐시할 메모리가 부족하거나 인스턴스에서 너무 많은 데이터를 읽기 시작했을 수 있습니다. 논리적 쓰기 수가 증가한 경우 이는 쿼리에서 데이터 디스크에 더 많은 데이터를 쓰기 시작했다는 의미일 수 있습니다.
이는 이 측정항목이 인스턴스 I/O에 대한 쿼리의 영향을 측정하는 데 도움이 될 수 있는 한 가지 예시입니다.
- 메모리 통계: 다음 필터를 포함하여 쿼리의 메모리 사용량 통계를 보여줍니다.
- 평균 이상적 메모리
- 평균 예약된 메모리
- 평균 사용된 메모리
이 측정항목은 다음 예시를 포함하여 쿼리와 관련된 메모리 사용 변화를 감지하는 데 도움이 될 수 있습니다.
- Cloud SQL에서 쿼리를 실행하는 데 필요한 메모리 양을 잘못 예측하여 쿼리에서 사용하는 메모리보다 더 많은 메모리를 예약했을 수 있는 시점을 감지하려면 이 측정항목을 사용합니다.
- Cloud SQL에서 충분한 메모리를 할당할 수 없어 더 작은 메모리 부여를 예약한 시점을 감지하려면 이 측정항목을 사용합니다. 이 경우 Cloud SQL은 메모리를 사용하는 것보다 느린
tempdb
데이터베이스를 사용합니다. - 인스턴스의 메모리 사용에 대한 쿼리의 영향을 측정하려면 쿼리 실행 수와 함께 이 측정항목을 사용합니다.
- 메모리 사용량이 높거나 메모리 부족이 발생할 때 이 측정항목을 사용합니다.
- CPU 및 실행 시간 통계: 쿼리의 CPU 시간과 실행 시간 통계의 통합 뷰를 보여줍니다. CPU 시간 측정항목을 사용하여 다음 예시를 포함해 인스턴스에서 높은 CPU 사용량을 조사할 수 있습니다.
- CPU 시간과 실행 횟수 측정항목을 조합하여 쿼리가 인스턴스의 총 CPU 사용에 미치는 영향을 측정할 수 있습니다.
- CPU 시간, 실행 시간, 동시 로드 측정항목을 조합하여 쿼리가 리소스를 기다린 시간의 비율을 측정할 수 있습니다.
- 실행 시간 측정항목을 사용하여 쿼리가 실행되는 데 평소보다 더 많은 시간이 걸린 시점을 감지할 수 있습니다.
- 추가 쿼리 통계: 다음 필터를 포함하여 쿼리와 관련된 추가 통계를 보여줍니다.
- 공통 언어 런타임(CLR) 통계
- Columnstore 통계
- 메모리 스필
- 동시 로드 통계
쿼리 통계 사용 중지
콘솔
Google Cloud 콘솔을 사용하여 Cloud SQL 인스턴스의 쿼리 통계를 사용 중지하려면 다음 단계를 수행합니다.
-
Google Cloud 콘솔에서 Cloud SQL 인스턴스 페이지로 이동합니다.
- 인스턴스의 개요 페이지를 열려면 인스턴스 이름을 클릭합니다.
- 구성 타일에서 구성 수정을 클릭합니다.
- 구성 옵션 섹션에서 쿼리 통계를 펼칩니다.
- 쿼리 통계 사용 설정 체크박스를 선택 취소합니다.
- 저장을 클릭합니다.
gcloud
gcloud
를 사용하여 Cloud SQL 인스턴스의 쿼리 통계를 사용 중지하려면 INSTANCE_ID를 인스턴스 ID로 바꾼 후 다음과 같이 --no-insights-config-query-insights-enabled
플래그와 함께 gcloud sql instances patch
를 실행합니다.
gcloud sql instances patch INSTANCE_ID \ --no-insights-config-query-insights-enabled
REST
REST API를 사용해서 Cloud SQL 인스턴스에 대해 쿼리 통계를 사용 중지하려면 다음과 같이 queryInsightsEnabled
를 false
로 설정하여 instances.patch
메서드를 호출합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- project-id: 프로젝트 ID
- instance-id: 인스턴스 ID입니다.
HTTP 메서드 및 URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id
JSON 요청 본문:
{ "settings" : { "insightsConfig" : { "queryInsightsEnabled" : false } } }
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id", "status": "PENDING", "user": "user@example.com", "insertTime": "2021-01-28T22:43:40.009Z", "operationType": "UPDATE", "name": "operation-id", "targetId": "instance-id", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/operations/operation-id", "targetProject": "project-id" }
Cloud SQL Enterprise Plus 버전의 쿼리 통계 사용 중지
Cloud SQL Enterprise Plus 버전의 쿼리 통계를 사용 중지하려면 다음을 수행합니다.
-
Google Cloud 콘솔에서 Cloud SQL 인스턴스 페이지로 이동합니다.
- 인스턴스의 개요 페이지를 열려면 인스턴스 이름을 클릭합니다.
- 수정을 클릭합니다.
- 인스턴스 맞춤설정 섹션에서 쿼리 통계를 확장합니다.
- Enterprise Plus 기능 사용 설정 체크박스를 선택 해제합니다.
- 저장을 클릭합니다.
다음 단계
- 출시 블로그: Cloud SQL Enterprise Plus 버전의 최신 쿼리 통계로 데이터베이스 병목 현상을 더 빠르게 해결
- 블로그: Cloud SQL Insights로 쿼리 성능 문제 해결 기술 향상
- 동영상: Cloud SQL Insights 소개
- 팟캐스트: Cloud SQL Insights
- Insights Codelab
- 높은 CPU 사용률 최적화
- 높은 메모리 사용률 최적화