Mengonfigurasi Penggabungan Koneksi Terkelola

Halaman ini menjelaskan cara mengaktifkan, mengonfigurasi, dan memantau Managed Connection Pooling di instance Cloud SQL Anda.

Penggabungan Koneksi Terkelola memungkinkan Anda menskalakan workload dengan mengoptimalkan pemanfaatan resource dan latensi koneksi untuk instance menggunakan penggabungan. Untuk informasi mendetail tentang Managed Connection Pooling dan cara menggunakannya untuk instance Anda, lihat Ringkasan Managed Connection Pooling.

Sebelum memulai

  • Konfirmasi bahwa instance Anda memenuhi semua persyaratan untuk menggunakan Managed Connection Pooling.
  • Jika Anda menggunakan gcloud CLI, konfirmasi bahwa versi gcloud CLI Anda adalah 515.0.0 atau yang lebih baru.

Mengaktifkan Penggabungan Koneksi Terkelola

Anda dapat mengaktifkan Managed Connection Pooling untuk instance pada saat pembuatan, atau mengedit instance yang ada untuk mengaktifkannya.

Mengaktifkan Managed Connection Pooling untuk instance baru

Untuk membuat instance baru dengan Managed Connection Pooling yang diaktifkan, lihat Membuat instance. Anda dapat mengaktifkan Penggabungan Koneksi Terkelola untuk instance baru menggunakan gcloud CLI atau Cloud SQL API saja.

Mengaktifkan Managed Connection Pooling untuk instance yang ada

Anda dapat mengaktifkan Managed Connection Pooling untuk instance yang sudah ada menggunakan Google Cloud konsol, gcloud CLI, atau Cloud SQL API. Anda harus mengaktifkan Managed Connection Pooling sebelum mengubah opsi Managed Connection Pooling.

Konsol

  1. Di konsol Google Cloud , buka halaman Instance Cloud SQL.

    Buka Instance Cloud SQL

  2. Temukan instance yang ingin Anda aktifkan Managed Connection Pooling-nya. Untuk membuka halaman Overview instance, klik nama instance.

  3. Klik Edit.

  4. Di bagian Customize your instance, luaskan Connections.

  5. Untuk mengaktifkan Managed Connection Pooling, centang kotak untuk Enable Managed Connection Pool.

  6. Klik Simpan.

gcloud

Gunakan perintah gcloud sql instances untuk mengaktifkan Managed Connection Pooling.

  gcloud sql instances patch INSTANCE_NAME \
  --enable-connection-pooling

Ganti kode berikut:

  • INSTANCE_NAME: nama instance Cloud SQL yang ingin Anda aktifkan Managed Connection Pooling-nya.

REST v1

Untuk mengaktifkan Managed Connection Pooling untuk instance yang sudah ada, gunakan perintah berikut dan tetapkan connectionPoolingEnabled:

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: project ID
  • INSTANCE_ID: ID instance

Metode HTTP dan URL:

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

Meminta isi JSON:

{
  "settings": {
    "connectionPoolConfig": {
      "connectionPoolingEnabled": true
    }
  }
}

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": "2020-01-16T02:32:12.281Z",
  "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

Untuk mengaktifkan Managed Connection Pooling untuk instance yang sudah ada, gunakan perintah berikut dan tetapkan connectionPoolingEnabled:

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: project ID
  • INSTANCE_ID: ID instance

Metode HTTP dan URL:

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

Meminta isi JSON:

{
  "settings": {
    "connectionPoolConfig": {
      "connectionPoolingEnabled": true
    }
  }
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan melihat respons JSON yang mirip seperti berikut:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2020-01-16T02:32:12.281Z",
  "operationType": "UPDATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

Terraform

Untuk mengaktifkan Managed Connection Pooling untuk instance yang sudah ada, gunakan resource Terraform berikut:

# This example shows creating an instance with Managed Connection Pooling enabled and custom flags set.
resource "google_sql_database_instance" "mysql_managed_connection_pooling_enable" {
  name                = "mysql-instance-managed-connection-pooling-enable"
  region              = "us-central1"
  database_version    = "MYSQL_8_0"
  deletion_protection = false

  settings {
    tier    = "db-perf-optimized-N-2"
    edition = "ENTERPRISE_PLUS"
    connection_pool_config {
      connection_pooling_enabled = true
    }
  }
}

Mengubah Managed Connection Pooling untuk instance

Setelah mengaktifkan Managed Connection Pooling, Anda dapat menyesuaikan Managed Connection Pooling untuk memenuhi kebutuhan instance menggunakan opsi konfigurasi lanjutan. Opsi konfigurasi ini disebut flag pool Managed Connection Pooling. Untuk mengetahui informasi selengkapnya tentang opsi konfigurasi yang tersedia, nilai default, dan rentangnya, lihat Opsi konfigurasi lanjutan.

Untuk mengubah opsi konfigurasi Managed Connection Pooling yang tersedia untuk instance, lakukan hal berikut:

Konsol

  1. Di konsol Google Cloud , buka halaman Instance Cloud SQL.

    Buka Instance Cloud SQL

  2. Temukan instance yang ingin Anda aktifkan Managed Connection Pooling-nya. Untuk membuka halaman Overview instance, klik nama instance.

  3. Klik Edit.

  4. Di bagian Customize your instance, luaskan Connections.

  5. Di bagian Managed connection pool, luaskan Advanced pooling options.

    Ubah opsi penggabungan yang tersedia yang ingin Anda perbarui.

  6. Klik Simpan.

gcloud

Gunakan perintah gcloud sql instances untuk mengubah opsi konfigurasi.

  gcloud sql instances patch INSTANCE_NAME \
  --connection-pool-flags=CONFIGURATION_NAME=CONFIGURATION_VALUE

Ganti kode berikut:

  • INSTANCE_NAME: nama instance Cloud SQL yang ingin Anda ubah Managed Connection Pooling-nya.
  • CONFIGURATION_NAME: nama opsi konfigurasi yang ingin Anda ubah. Untuk mengetahui daftar semua opsi konfigurasi yang tersedia, lihat Opsi konfigurasi lanjutan.
  • CONFIGURATION_VALUE: nilai baru untuk opsi konfigurasi yang Anda pilih.

REST v1

Untuk mengubah konfigurasi lanjutan Managed Connection Pooling, gunakan perintah berikut dan tetapkan ConnectionPoolConfig:

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: project ID
  • INSTANCE_ID: ID instance

Metode HTTP dan URL:

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

Meminta isi JSON:

{
  "settings": {
    "connectionPoolConfig": {
      "flags":
      [
        {
          "name": "CONFIGURATION_NAME",
          "value":"CONFIGURATION_VALUE"
        }
      ]
    }
  }
}

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": "2020-01-16T02:32:12.281Z",
  "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

Untuk mengubah konfigurasi lanjutan Managed Connection Pooling, gunakan perintah berikut dan tetapkan ConnectionPoolConfig:

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: project ID
  • INSTANCE_ID: ID instance

Metode HTTP dan URL:

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

Meminta isi JSON:

{
  "settings": {
    "connectionPoolConfig": {
      "flags":
      [
        {
          "name": "CONFIGURATION_NAME",
          "value":"CONFIGURATION_VALUE"
        }
      ]
    }
  }
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan melihat respons JSON yang mirip seperti berikut:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2020-01-16T02:32:12.281Z",
  "operationType": "UPDATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

Terraform

Untuk mengubah konfigurasi lanjutan Managed Connection Pooling, gunakan resource Terraform berikut:

# This example shows modifying the flags of an existing Managed Connection Pooling configuration.
resource "google_sql_database_instance" "mysql_managed_connection_pooling_modify" {
  name                = "mysql-instance-managed-connection-pooling-modify"
  region              = "us-central1"
  database_version    = "MYSQL_8_0"
  deletion_protection = false

  settings {
    tier    = "db-perf-optimized-N-2"
    edition = "ENTERPRISE_PLUS"
    connection_pool_config {
      connection_pooling_enabled = true
      flags {
        name  = "max_pool_size" # Modify or add the name and value of an flag
        value = "10"
      }
    }
  }
}

Menonaktifkan Penggabungan Koneksi Terkelola untuk instance

Anda dapat menonaktifkan Managed Connection Pooling untuk instance yang ada menggunakan Google Cloud konsol, gcloud CLI, atau Cloud SQL API.

Untuk menonaktifkan Managed Connection Pooling untuk instance, lakukan hal berikut:

Konsol

  1. Di konsol Google Cloud , buka halaman Instance Cloud SQL.

    Buka Instance Cloud SQL

  2. Temukan instance yang ingin Anda nonaktifkan Managed Connection Pooling-nya. Untuk membuka halaman Overview instance, klik nama instance.

  3. Klik Edit.

  4. Di bagian Customize your instance, luaskan Connections.

  5. Untuk menonaktifkan Managed Connection Pooling, hapus centang pada kotak Enable Managed Connection Pool.

  6. Klik Simpan.

gcloud

Gunakan perintah gcloud sql instances untuk menonaktifkan Managed Connection Pooling.

  gcloud sql instances patch INSTANCE_NAME \
  --no-enable-connection-pooling

Ganti kode berikut:

  • PROJECT_ID: nama instance Cloud SQL yang ingin Anda nonaktifkan Managed Connection Pooling-nya.

REST v1

Untuk menonaktifkan Managed Connection Pooling untuk instance, gunakan perintah berikut dan tetapkan connectionPoolingEnabled:

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: project ID
  • INSTANCE_ID: ID instance

Metode HTTP dan URL:

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

Meminta isi JSON:

{
  "settings": {
    "connectionPoolConfig": {
      "connectionPoolingEnabled": 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": "2020-01-16T02:32:12.281Z",
  "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

Untuk menonaktifkan Managed Connection Pooling untuk instance, gunakan perintah berikut dan tetapkan connectionPoolingEnabled:

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: project ID
  • INSTANCE_ID: ID instance

Metode HTTP dan URL:

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

Meminta isi JSON:

{
  "settings": {
    "connectionPoolConfig": {
      "connectionPoolingEnabled": false
    }
  }
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan melihat respons JSON yang mirip seperti berikut:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2020-01-16T02:32:12.281Z",
  "operationType": "UPDATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

Terraform

Untuk menonaktifkan Managed Connection Pooling untuk instance, gunakan resource Terraform berikut:

# This example shows disabling Managed Connection Pooling on an existing instance.
resource "google_sql_database_instance" "mysql_managed_connection_pooling_disable" {
  name                = "mysql-instance-managed-connection-pooling-disable"
  region              = "us-central1"
  database_version    = "MYSQL_8_0"
  deletion_protection = false

  settings {
    tier    = "db-perf-optimized-N-2"
    edition = "ENTERPRISE_PLUS"
    connection_pool_config {
      # Set to false to disable Managed Connection Pooling. You can also remove the block entirely.
      connection_pooling_enabled = false
    }
  }
}

Melihat status Managed Connection Pooling untuk instance

Anda dapat melihat status Managed Connection Pooling untuk instance menggunakan Google Cloud konsol, gcloud CLI, atau Cloud SQL API.

Untuk melihat status Managed Connection Pooling untuk instance edisi Cloud SQL Enterprise Plus, lakukan hal berikut:

Konsol

  1. Di konsol Google Cloud , buka halaman Instance Cloud SQL.

    Buka Instance Cloud SQL

  2. Temukan instance yang ingin Anda lihat status Managed Connection Pooling-nya. Untuk membuka halaman Overview instance, klik nama instance.

    Bagian Koneksi menunjukkan apakah Managed Connection Pooling diaktifkan atau dinonaktifkan.

gcloud

  gcloud sql instances describe INSTANCE_NAME
  --format="value(settings.connectionPoolConfig.connectionPoolingEnabled)"

Ganti kode berikut:

  • PROJECT_ID: nama instance Cloud SQL yang ingin Anda lihat status Managed Connection Pooling-nya.

    Jika Managed Connection Pooling diaktifkan, respons berikut akan ditampilkan:

    connectionPoolingEnabled: true

REST v1

Untuk melihat status Managed Connection Pooling untuk instance Cloud SQL Anda, gunakan perintah berikut dan cari connectionPoolingEnabled:

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

Metode HTTP dan URL:

GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME

Untuk mengirim permintaan, perluas salah satu opsi berikut:

Anda akan menerima respons JSON seperti berikut:

{
  "kind": "sql#instance",
  "state": "RUNNABLE",
  "databaseVersion": "MYSQL_8_0",
  "settings": {
    "authorizedGaeApplications": [],
    "tier": "db-custom-2-7680",
    "kind": "sql#settings",
    "availabilityType": "REGIONAL",
    "pricingPlan": "PER_USE",
    "replicationType": "SYNCHRONOUS",
    "activationPolicy": "ALWAYS",
    "ipConfiguration": {
      "authorizedNetworks": [],
      "pscConfig": {
        "allowedConsumerProjects": [
          "ALLOWED_PROJECTS"
        ],
        "pscEnabled": true
      },
      "ipv4Enabled": false
    },
  ...
  "createTime": "2023-06-14T18:48:34.975Z",
  "sqlNetworkArchitecture": "NEW_NETWORK_ARCHITECTURE",
  "pscServiceAttachmentLink": "projects/PROJECT_ID/regions/REGION_NAME/serviceAttachments/SERVICE_ATTACHMENT_ID",
  "dnsName": "DNS_NAME"
}

REST v1beta4

Untuk melihat status Managed Connection Pooling untuk instance Cloud SQL Anda, gunakan perintah berikut dan cari connectionPoolingEnabled:

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

Metode HTTP dan URL:

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

Untuk mengirim permintaan, perluas salah satu opsi berikut:

Anda akan melihat respons JSON seperti berikut:

{
  "kind": "sql#instance",
  "state": "RUNNABLE",
  "databaseVersion": "MYSQL_8_0",
  "settings": {
    "authorizedGaeApplications": [],
    "tier": "db-custom-2-7680",
    "kind": "sql#settings",
    "availabilityType": "REGIONAL",
    "pricingPlan": "PER_USE",
    "replicationType": "SYNCHRONOUS",
    "activationPolicy": "ALWAYS",
    "ipConfiguration": {
      "authorizedNetworks": [],
      "pscConfig": {
        "allowedConsumerProjects": [
          "ALLOWED_PROJECTS"
        ],
        "pscEnabled": true
      },
      "ipv4Enabled": false
    },
  ...
  "createTime": "2023-06-14T18:48:34.975Z",
  "sqlNetworkArchitecture": "NEW_NETWORK_ARCHITECTURE",
  "pscServiceAttachmentLink": "projects/PROJECT_ID/regions/REGION_NAME/serviceAttachments/SERVICE_ATTACHMENT_ID",
  "dnsName": "DNS_NAME"
}

Memantau Penggabungan Koneksi Terkelola

Anda dapat memantau cara Managed Connection Pooling berjalan di instance Cloud SQL menggunakan metrik Managed Connection Pooling Cloud SQL berikut:

Nama metrik Deskripsi
thread Melacak jumlah thread dalam kumpulan koneksi berdasarkan statusnya. Status yang disertakan dalam metrik ini adalah:
  • idle: jumlah thread tidak aktif dalam pool.
  • active: jumlah thread aktif (non-idle) dalam pool.
pending_connection Jumlah koneksi yang aktif dalam antrean penggabungan.
avg_wait_time Waktu rata-rata yang dihabiskan oleh permintaan koneksi saat menunggu server.

Untuk mengetahui informasi selengkapnya tentang metrik ini, lihat Metrik Cloud SQL. Untuk melihat metrik ini menggunakan konsol Google Cloud , lihat Melihat metrik di halaman ringkasan instance Cloud SQL.

Langkah berikutnya