많은 수의 테이블 관리

Cloud SQL 테이블 수가 많음 추천자를 사용하면 테이블 수가 너무 많고 SLA 한도에 근접한 인스턴스를 감지할 수 있습니다. 그런 후 이러한 인스턴스를 최적화하고 인스턴스 성능을 개선하는 방법에 대한 권장사항을 제공합니다.

이 페이지에서는 많은 수의 테이블 추천자 작동 방식과 사용 방법을 설명합니다.

작동 방식

단일 인스턴스에 데이터베이스 테이블이 50,000개 이상 있으면 인스턴스가 응답하지 않거나 유지보수 작업을 수행하지 못할 수 있으며, 인스턴스가 SLA의 적용을 받지 못합니다.

Cloud SQL 테이블 수가 많음 추천자는 Cloud SQL MySQL 인스턴스의 테이블 수에 대한 측정항목을 분석합니다. 테이블 수가 50,000개 테이블을 허용하는 SLA 한도의 80% 이상이면 테이블 수가 많은 인스턴스로 간주됩니다.

가격 책정

Cloud SQL 열린 테이블 수가 많은 추천자는 표준 추천자 가격 책정 등급에 있습니다.

시작하기 전에

권장사항과 통계를 보려면 먼저 다음을 수행하세요.

  • 통계 및 권장사항을 보고 사용할 수 있는 권한을 얻으려면 필요한 역할이 있어야 합니다.
    태스크 역할
    권장사항 보기 다음 역할 중 하나: recommender.cloudsqlViewer 또는 cloudsql.viewer
    권장사항 적용 다음 역할 중 하나: recommender.cloudsqlAdmin, cloudsql.editor 또는 cloudsql.admin
    역할에 대한 상세 내용은 역할 이해IAM 권한 부여를 참조하세요.
  • Recommender API 사용 설정

    API 사용 설정

인스턴스 성능 개선 권장사항 나열

Google Cloud 콘솔, gcloud CLI 또는 Recommender API를 사용하여 인스턴스 성능 개선 권장사항을 나열할 수 있습니다.

인스턴스 성능 개선 권장사항은 성능 기준점 한도에 근접한 인스턴스가 있는 경우에만 표시됩니다.

콘솔

Google Cloud 콘솔을 사용하여 인스턴스 성능에 대한 권장사항을 나열하려면 다음 단계를 따르세요.

  1. Cloud SQL 인스턴스 페이지로 이동합니다.

    Cloud SQL 인스턴스로 이동

  2. 많은 수의 테이블 관리 권장사항 배너에서 모두 보기를 클릭합니다.

또는 다음 단계를 수행하세요.

  1. 권장사항 허브로 이동합니다. 권장사항 허브 시작하기도 참조하세요.

    권장사항 허브로 이동

  2. Cloud SQL 인스턴스 성능 향상 카드에서 모두 보기를 클릭합니다.

  3. 많은 수의 테이블 관리 권장사항으로 인스턴스를 선택합니다.

gcloud CLI

gcloud CLI를 사용하여 인스턴스 성능 개선 권장사항을 나열하려면 다음과 같이 gcloud recommender recommendations list 명령어를 실행합니다.

gcloud recommender recommendations list \
--project=PROJECT_ID \
--location=LOCATION \
--recommender=google.cloudsql.instance.PerformanceRecommender \
--filter=recommenderSubtype=MYSQL_HIGH_NUMBER_OF_TABLES_BEST_PRACTICE

다음을 바꿉니다.

  • PROJECT_ID: 프로젝트 ID
  • LOCATION: 리전(예: us-central1)

API

Recommendations API를 사용하여 인스턴스 성능 개선 권장사항을 나열하려면 다음과 같이 recommendations.list 메서드를 호출합니다.

GET https://recommender.googleapis.com/v1beta1/projects/PROJECT-ID/locations/LOCATION/recommenders/google.cloudsql.instance.PerformanceRecommender.MySqlHighNumberOfTablesBestPractice/recommendations

다음을 바꿉니다.

  • PROJECT_ID: 프로젝트 ID
  • LOCATION: 리전(예: us-central1)

추천자는 테이블 수가 많은 인스턴스를 감지하면 이를 다른 성능 권장사항과 함께 테이블에 나열합니다. 행마다 인스턴스 ID, 간단한 권장사항, 데이터베이스 엔진, 위치, 마지막 새로고침 날짜가 표시됩니다.

통계 및 자세한 권장사항 보기

Google Cloud 콘솔, gcloud CLI 또는 Recommender API를 사용하여 테이블 수가 많은 인스턴스에 대한 통계와 자세한 권장사항을 확인할 수 있습니다.

콘솔

Google Cloud 콘솔을 사용하여 성능 기준점에 근접한 인스턴스에 대한 통계와 자세한 권장사항을 보려면 인스턴스 목록에서 권장사항 링크를 클릭합니다.

gcloud CLI

gcloud CLI를 사용하여 성능 기준점에 근접한 인스턴스에 대한 통계와 자세한 권장사항을 보려면 다음과 같이 gcloud recommender insights list 명령어를 실행합니다.

gcloud recommender insights list \
--project=PROJECT_ID \
--location=LOCATION \
--insight-type=google.cloudsql.instance.PerformanceInsight \
--filter=insightSubtype=MYSQL_HIGH_NUMBER_OF_TABLES

다음을 바꿉니다.

  • PROJECT_ID: 프로젝트 ID
  • LOCATION: 리전(예: us-central1)

API

Recommendations API를 사용하여 성능 기준점에 가까운 인스턴스에 대한 유용한 정보 및 자세한 권장사항을 보려면 다음과 같이 insights.list 메서드를 호출합니다.

GET https://recommender.googleapis.com/v1beta1/projects/PROJECT-ID/locations/LOCATION/insightTypes/google.cloudsql.instance.PerformanceRecommender.MySqlHighNumberOfTables/insights

다음을 바꿉니다.

  • PROJECT_ID: 프로젝트 ID
  • LOCATION: 리전(예: us-central1)

다음 표에는 성능 향상을 위해 Cloud SQL 열린 테이블 수가 많은 추천자에 대한 개방형 테이블 추천자가 생성하는 통계 및 권장사항이 나와 있습니다. 하위 유형은 gcloud CLI 및 API 결과에 표시됩니다.

인사이트 권장사항
이 인스턴스의 테이블 수가 테이블 수 50,000개 SLA 한도의 80% 보다 많거나 같습니다.
하위 유형: MYSQL_HIGH_NUMBER_OF_TABLES
테이블 수를 줄여 Cloud SQL 인스턴스 성능을 개선하세요.
하위 유형: MYSQL_HIGH_NUMBER_OF_TABLES_BEST_PRACTICE

권장사항 적용

통계 및 권장사항을 신중하게 평가하고 다음을 수행합니다.

  • 인스턴스를 검토하려면 인스턴스 보기를 클릭하세요. 인스턴스 성능 최적화를 참조하여 권장사항을 따르세요.

  • 강조 표시가 해제되고 흐리게 표시될 수 있도록 권장사항을 없애려면 닫기를 클릭합니다.

  • 권장사항을 적용하거나 해제하지 않고 패널을 닫으려면 취소를 클릭합니다.

인스턴스 성능 최적화

  • 인스턴스를 수정하여 vCPU 수를 최소 32개 코어로, 메모리 크기를 최소 200GB로 늘립니다. 이렇게 하면 인스턴스의 테이블 한도가 50,000개에서 500,000개로 증가합니다.

  • 불필요한 테이블을 삭제합니다.

    DROP TABLE TABLE_NAME; 

    다음을 바꿉니다.

    • TABLE_NAME: 삭제할 테이블의 이름입니다.
  • 데이터베이스를 여러 인스턴스로 분할하여 각 인스턴스의 테이블 수를 권장 한도 내에서 유지하여 인스턴스당 테이블 수를 줄입니다.

  • 테이블 수를 즉시 줄일 수 없는 경우에는 innodb_file_per_table 플래그를 OFF로 설정하여 인스턴스 수가 많을 때 인스턴스가 영향을 받을 가능성을 줄이세요. innodb_file_per_table 플래그의 값을 사용 중지하려면 데이터베이스 플래그 구성을 참조하세요. 하지만 이 설정은 인스턴스에 SLA 규정 준수를 다시 적용하지 않습니다. 운영 가이드라인을 참조하세요.

  • 일반 테이블스페이스를 사용하여 테이블을 만들거나 기존 테이블을 일반 테이블스페이스로 이동합니다. 자세한 내용은 일반 테이블스페이스에 대한 MySQL 문서를 참조하세요.

다음 단계