테이블 열기 캐시 크기 늘리기

Cloud SQL 열린 테이블 수가 많음 추천자를 사용하면 동시에 열린 테이블 수가 table_open_cache 값과 동일한 인스턴스를 감지할 수 있습니다. 그런 다음 이러한 인스턴스를 최적화하여 성능을 향상시키는 방법에 대한 권장사항을 제공합니다.

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

작동 방식

MySQL은 멀티 스레드이며 클라이언트는 여러 스레드의 같은 테이블에서 동시에 쿼리를 발행할 수 있습니다. 따라서 MySQL에는 각 세션에 대해 독립적으로 열린 테이블이 있을 수 있습니다. 동시에 열린 테이블 수는 table_open_cache에서 관리됩니다. 캐시가 가득 차고 추가 테이블이 열리면 MySQL은 가장 최근에 사용된 테이블을 닫습니다. 현재 캐시에 있는 모든 테이블을 사용 중인 경우 MySQL은 캐시를 일시적으로 확장하고 사용하지 않는 즉시 테이블을 닫습니다.

열린 테이블 수가 table_open_cache 값을 초과하면 워크로드가 높은 동안 데이터베이스 성능이 저하될 수 있습니다. 더 많은 스레드가 생성되고 테이블 핸들러가 테이블을 더 자주 여닫게 되기 때문입니다.

Cloud SQL 열린 테이블 수가 많음 추천자는 Cloud SQL MySQL 인스턴스의 열린 테이블 수에 대한 측정항목을 매일 분석합니다. 열린 테이블 수가 이전 24시간 동안 2초마다 1씩 증가하고 열린 테이블 수가 table_open_cache 값 이상인 경우 추천자는 table_open_cache 플래그를 조정할 것을 권고합니다.

가격 책정

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_OPEN_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 Console, gcloud CLI 또는 Recommender API를 사용하여 테이블 수가 많은 인스턴스에 대한 통계와 자세한 권장사항을 확인할 수 있습니다.

콘솔

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

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_OPEN_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.MySqlHighNumberOfOpenTables/insights

다음을 바꿉니다.

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

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

인사이트 권장사항
열린 테이블 수는 table_open_cache 플래그 값과 동일합니다.
하위 유형: MYSQL_HIGH_NUMBER_OF_OPEN_TABLES
열린 테이블 수를 줄여 Cloud SQL 인스턴스 성능을 높이세요.
하위 유형: MYSQL_HIGH_NUMBER_OF_OPEN_TABLES_BEST_PRACTICE

권장사항 적용

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

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

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

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

인스턴스 성능 최적화

인스턴스 성능을 최적화하려면 다음 중 하나를 수행하세요.

  1. 권장사항이 사라지기 전까지 table_open_cache 값을 500으로 늘립니다. 권장사항은 매일 업데이트되므로 table_open_cache 값을 늘린 후 24시간 후에 다시 확인합니다.

  2. open_tables 값이 table_open_cache 보다 크면 table_open_cache 값을 open_tables 값으로 늘립니다.

    데이터베이스 플래그를 업데이트하는 방법은 데이터베이스 플래그 구성을 참조하세요.

다음 단계