Mengonfigurasi perekaman performa

Pengambilan performa memungkinkan Anda mendiagnosis masalah sementara pada database dengan mengambil metrik mendetail untuk instance Anda saat performa menurun. Untuk menggunakan pengambilan performa, aktifkan pengambilan performa untuk instance Anda dan konfigurasi nilai minimum yang memicu snapshot berbasis metrik mendetail dari instance Cloud SQL Anda.

Sebelum memulai

Untuk menggunakan perekaman performa, Anda harus mengaktifkan insight kueri untuk instance Anda.

Peran yang diperlukan

Untuk mendapatkan izin yang Anda perlukan guna membuat instance dan mengaktifkan perekaman performa, minta administrator untuk memberi Anda peran IAM berikut pada project:

Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.

Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.

Mengaktifkan dan mengonfigurasi perekaman performa

Anda dapat mengaktifkan pengambilan performa saat membuat atau mengupdate instance Cloud SQL.

gcloud

Membuat dan mengonfigurasi instance

Untuk mengaktifkan pengambilan performa saat Anda membuat instance Cloud SQL, jalankan perintah berikut:

gcloud beta sql instances create INSTANCE_NAME \
  --database-version=DATABASE_VERSION \
  --region=REGION \
  --tier=TIER \
  --edition=EDITION_TYPE \
  --performance-capture-config="enabled=true,PROBE_CONFIGURATION,PERFORMANCE_CAPTURE_THRESHOLDS"

Ganti kode berikut:

  • INSTANCE_NAME: nama instance Anda
  • DATABASE_VERSION: versi database. Misalnya MYSQL_8_4 atau MYSQL_8_0_37. Jika Anda tidak menentukan versi database, maka versi database defaultnya adalah MYSQL_8_0.
  • REGION: Region
  • TIER: jenis mesin Anda
  • EDITION_TYPE: edisi Cloud SQL Anda

Untuk flag performance-capture-config, sertakan enabled=true. Dalam definisi tanda yang sama, Anda dapat menentukan konfigurasi opsional untuk PROBE_CONFIGURATION dan untuk PERFORMANCE_CAPTURE_THRESHOLDS, atau Anda dapat menentukannya nanti dengan memperbarui instance.

Contoh:

gcloud beta sql instances create my-instance \
  --database-version=MYSQL_8_0 \
  --edition=ENTERPRISE_PLUS \
  --tier=db-perf-optimized-N-4 \
  --region=us-west1 \
  --performance-capture-config="enabled=true,probing-interval-seconds=30,probe-threshold=5,running-threads-threshold=10,transaction-duration-threshold=300"

Memperbarui instance yang ada

Untuk mengaktifkan pengambilan performa untuk instance Cloud SQL yang ada, jalankan perintah berikut:

gcloud beta sql instances patch INSTANCE_NAME \
  --performance-capture-config="enabled=true,PROBE_CONFIGURATION,PERFORMANCE_CAPTURE_THRESHOLDS"

Untuk flag performance-capture-config, sertakan enabled=true. Untuk flag yang sama, Anda dapat menentukan konfigurasi opsional untuk PROBE_CONFIGURATION dan untuk PERFORMANCE_CAPTURE_THRESHOLDS.

Anda juga dapat menggunakan perintah gcloud beta sql instances patch untuk memperbarui nilai konfigurasi batas untuk pengambilan performa pada instance yang ada.

Mengonfigurasi interval pemeriksaan dan pemeriksaan berurutan metrik performa

Anda dapat mengganti PROBE_CONFIGURATION dengan satu atau kedua setelan flag berikut. Jika Anda tidak menetapkan flag, agen pemantauan akan menggunakan nilai default.

  • probing-interval-seconds=SECONDS: bilangan bulat antara 20 dan 86400. Interval waktu, dalam detik, antar-pemeriksaan metrik. Misalnya, 30, 60, 100. Default-nya adalah 30.
  • probe-threshold=PROBES: jumlah waktu berturut-turut batas harus terlampaui untuk memicu perekaman performa. Rentang yang valid adalah 1 hingga 20. Default-nya adalah 3.

Mengonfigurasi nilai minimum pengambilan performa

Anda dapat mengganti PERFORMANCE_CAPTURE_THRESHOLDS dengan satu atau beberapa setelan tanda berikut. Jika Anda tidak menetapkan nilai untuk flag, agen pemantauan akan menggunakan nilai default untuk nilai minimum dan maksimum.

  • running-threads-threshold=THREADS: untuk instance utama, jumlah minimum thread aktif yang dianggap melebihi nilai minimum. Contoh, 10. Harus lebih besar dari atau sama dengan 10. Jika tidak disetel, nilai default akan didasarkan pada ukuran instance. Default-nya adalah MIN(600, cpuCount * 20).
  • seconds-behind-source-threshold=SECONDS : untuk replika baca, keterlambatan replikasi minimum, dalam detik, yang dianggap melebihi nilai minimum. Harus lebih besar dari 0. Jumlah defaultnya adalah 900
  • transaction-duration-threshold=SECONDS: durasi, dalam detik, transaksi yang belum di-commit sebelum transaksi dilacak dan disertakan dalam log perekaman performa. Misalnya, 300, 600. Nilai minimum adalah 60. Default-nya adalah 3600.

REST v1

Membuat dan mengonfigurasi instance

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: project ID Anda.
  • INSTANCE_ID: ID instance Anda
  • DATABASE_VERSION: versi database. Misalnya MYSQL_8_4 atau MYSQL_8_0_37. Jika Anda tidak menentukan versi database, maka versi database defaultnya adalah MYSQL_8_0.
  • REGION: Region
  • MACHINE_TYPE: jenis mesin Anda
  • EDITION_TYPE: edisi Cloud SQL Anda
  • PROBING_INTERVAL_SECONDS: bilangan bulat antara 20 dan 86400. Interval waktu, dalam detik, antara pemeriksaan metrik. Default-nya adalah 30.
  • PROBE_THRESHOLD: jumlah waktu berturut-turut yang harus dilampaui oleh nilai minimum untuk memicu perekaman performa. Rentang yang valid adalah 1 hingga 20. Default-nya adalah 3.
  • RUNNING_THREADS_THRESHOLD: untuk instance utama, jumlah minimum thread aktif yang dianggap melebihi nilai minimum. Contoh, 10. Harus lebih besar dari atau sama dengan 10. Jika tidak disetel, nilai default akan didasarkan pada ukuran instance. Default-nya adalah MIN(600, cpuCount * 20).
  • SECONDS_BEHIND_SOURCE_THRESHOLD: untuk replika baca, keterlambatan replikasi minimum, dalam detik, yang dianggap melebihi nilai minimum. Harus lebih besar dari 0. Jumlah defaultnya adalah 900
  • TRANSACTION_DURATION_THRESHOLD: durasi, dalam detik, transaksi yang belum di-commit sebelum transaksi dilacak dan disertakan dalam log perekaman performa. Misalnya, 300, 600. Nilai minimum adalah 60. Default-nya adalah 3600.

Metode HTTP dan URL:

POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances

Meminta isi JSON:

{
  "name": "INSTANCE_ID",
  "region": "REGION",
  "databaseVersion": "DATABASE_VERSION",
  "settings": {
    "tier": "MACHINE_TYPE",
    "edition": "EDITION_TYPE"
  },
  "performanceCaptureConfig": {
     "enabled": true,
     "probingIntervalSeconds": PROBING_INTERVAL_SECONDS,
     "probeThreshold": PROBE_THRESHOLD,
     "runningThreadsThreshold": RUNNING_THREADS_THRESHOLD,
     "secondsBehindSourceThreshold": SECONDS_BEHIND_SOURCE_THRESHOLD,
     "transactionDurationThreshold": TRANSACTION_DURATION_THRESHOLD
  }
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan melihat respons JSON seperti berikut:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2025-11-10T22:19:33.735Z",
  "operationType": "CREATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

Memperbarui instance yang ada

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PERFORMANCE_CAPTURE_ENABLE: tetapkan ke true untuk mengaktifkan perekaman performa untuk instance Anda.
  • PROBING_INTERVAL_SECONDS: bilangan bulat antara 20 dan 86400. Interval waktu, dalam detik, antara pemeriksaan metrik. Default-nya adalah 30.
  • PROBE_THRESHOLD: jumlah waktu berturut-turut yang harus dilampaui oleh nilai minimum untuk memicu perekaman performa. Rentang yang valid adalah 1 hingga 20. Default-nya adalah 3.
  • RUNNING_THREADS_THRESHOLD: untuk instance utama, jumlah minimum thread aktif yang dianggap melebihi nilai minimum. Contoh, 10. Harus lebih besar dari atau sama dengan 10. Jika tidak disetel, nilai default akan didasarkan pada ukuran instance. Default-nya adalah MIN(600, cpuCount * 20).
  • SECONDS_BEHIND_SOURCE_THRESHOLD: untuk replika baca, keterlambatan replikasi minimum, dalam detik, yang dianggap melebihi nilai minimum. Harus lebih besar dari 0. Jumlah defaultnya adalah 900
  • TRANSACTION_DURATION_THRESHOLD: durasi, dalam detik, transaksi yang belum di-commit sebelum transaksi dilacak dan disertakan dalam log perekaman performa. Misalnya, 300, 600. Nilai minimum adalah 60. Default-nya adalah 3600.

Metode HTTP dan URL:

PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID

Meminta isi JSON:

{
  "performanceCaptureConfig": {
     "enabled": PERFORMANCE_CAPTURE_ENABLE,
     "probingIntervalSeconds": PROBING_INTERVAL_SECONDS,
     "probeThreshold": PROBE_THRESHOLD,
     "runningThreadsThreshold": RUNNING_THREADS_THRESHOLD,
     "secondsBehindSourceThreshold": SECONDS_BEHIND_SOURCE_THRESHOLD,
     "transactionDurationThreshold": TRANSACTION_DURATION_THRESHOLD
  },
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan melihat respons JSON seperti berikut:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2025-11-10T22:19:33.735Z",
  "operationType": "UPDATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

REST v1beta4

Membuat dan mengonfigurasi instance

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: project ID Anda.
  • INSTANCE_ID: ID instance Anda
  • DATABASE_VERSION: versi database. Misalnya MYSQL_8_4 atau MYSQL_8_0_37. Jika Anda tidak menentukan versi database, maka versi database defaultnya adalah MYSQL_8_0.
  • REGION: Region
  • MACHINE_TYPE: jenis mesin Anda
  • EDITION_TYPE: edisi Cloud SQL Anda
  • PROBING_INTERVAL_SECONDS: bilangan bulat antara 20 dan 86400. Interval waktu, dalam detik, antara pemeriksaan metrik. Default-nya adalah 30.
  • PROBE_THRESHOLD: jumlah waktu berturut-turut yang harus dilampaui oleh nilai minimum untuk memicu perekaman performa. Rentang yang valid adalah 1 hingga 20. Default-nya adalah 3.
  • RUNNING_THREADS_THRESHOLD: untuk instance utama, jumlah minimum thread aktif yang dianggap melebihi nilai minimum. Contoh, 10. Harus lebih besar dari atau sama dengan 10. Jika tidak disetel, nilai default akan didasarkan pada ukuran instance. Default-nya adalah MIN(600, cpuCount * 20).
  • SECONDS_BEHIND_SOURCE_THRESHOLD: untuk replika baca, keterlambatan replikasi minimum, dalam detik, yang dianggap melebihi nilai minimum. Harus lebih besar dari 0. Default-nya adalah 900.
  • TRANSACTION_DURATION_THRESHOLD: durasi, dalam detik, transaksi yang belum di-commit sebelum transaksi dilacak dan disertakan dalam log perekaman performa. Misalnya, 300, 600. Nilai minimum adalah 60. Default-nya adalah 3600.

Metode HTTP dan URL:

POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances

Meminta isi JSON:

{
  "name": "INSTANCE_ID",
  "region": "REGION",
  "databaseVersion": "DATABASE_VERSION",
  "settings": {
    "tier": "MACHINE_TYPE",
    "edition": "EDITION_TYPE",
  },
  "performanceCaptureConfig": {
     "enabled": true,
     "probingIntervalSeconds": PROBING_INTERVAL_SECONDS,
     "probeThreshold": PROBE_THRESHOLD,
     "runningThreadsThreshold": RUNNING_THREADS_THRESHOLD,
     "secondsBehindSourceThreshold": SECONDS_BEHIND_SOURCE_THRESHOLD,
     "transactionDurationThreshold": TRANSACTION_DURATION_THRESHOLD
  },
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan melihat respons JSON seperti berikut:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2025-11-10T22:19:33.735Z",
  "operationType": "CREATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

Memperbarui instance yang ada

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PERFORMANCE_CAPTURE_ENABLE: tetapkan ke true untuk mengaktifkan perekaman performa untuk instance Anda.
  • PROBING_INTERVAL_SECONDS: bilangan bulat antara 20 dan 86400. Interval waktu, dalam detik, antara pemeriksaan metrik. Default-nya adalah 30.
  • PROBE_THRESHOLD: jumlah waktu berturut-turut yang harus dilampaui oleh nilai minimum untuk memicu perekaman performa. Rentang yang valid adalah 1 hingga 20. Default-nya adalah 3.
  • RUNNING_THREADS_THRESHOLD: untuk instance utama, jumlah minimum thread aktif yang dianggap melebihi nilai minimum. Misalnya, 10. Harus lebih besar dari atau sama dengan 10. Jika tidak disetel, nilai default akan didasarkan pada ukuran instance. Default-nya adalah MIN(600, cpuCount * 20).
  • SECONDS_BEHIND_SOURCE_THRESHOLD: untuk replika baca, keterlambatan replikasi minimum, dalam detik, yang dianggap melebihi nilai minimum. Harus lebih besar dari 0. Jumlah defaultnya adalah 900
  • TRANSACTION_DURATION_THRESHOLD: durasi, dalam detik, transaksi yang belum di-commit sebelum transaksi dilacak dan disertakan dalam log perekaman performa. Misalnya, 300, 600. Nilai minimum adalah 60. Default-nya adalah 3600.

Metode HTTP dan URL:

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID

Meminta isi JSON:

{
  "performanceCaptureConfig": {
     "enabled": PERFORMANCE_CAPTURE_ENABLE,
     "probingIntervalSeconds": PROBING_INTERVAL_SECONDS,
     "probeThreshold": PROBE_THRESHOLD,
     "runningThreadsThreshold": RUNNING_THREADS_THRESHOLD,
     "secondsBehindSourceThreshold": SECONDS_BEHIND_SOURCE_THRESHOLD,
     "transactionDurationThreshold": TRANSACTION_DURATION_THRESHOLD
  },
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan melihat respons JSON seperti berikut:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2025-11-10T22:19:33.735Z",
  "operationType": "UPDATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

Menonaktifkan perekaman performa

Untuk menonaktifkan perekaman performa, gunakan perintah berikut.

gcloud

gcloud beta sql instances patch INSTANCE_NAME \
  --performance-capture-config="enabled=false"

Ganti INSTANCE_NAME dengan nama instance tempat Anda ingin menonaktifkan pengambilan performa.

REST v1

Metode HTTP dan URL:

PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID

Meminta isi JSON:

{
  "performanceCaptureConfig": {
     "enabled": false
  }
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan melihat respons JSON seperti berikut:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "INSERT_TIME",
  "operationType": "UPDATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

REST v1beta4

Metode HTTP dan URL:

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID

Meminta isi JSON:

{
  "performanceCaptureConfig": {
     "enabled": false
  }
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2025-11-10T22:19:33.735Z",
  "operationType": "UPDATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

Langkah berikutnya