Penggabungan Koneksi Terkelola memungkinkan Anda menskalakan workload dengan mengoptimalkan penggunaan resource dan latensi koneksi untuk instance Cloud SQL. Penggabungan Koneksi Terkelola menetapkan koneksi server secara dinamis ke permintaan masuk jika memungkinkan. Penetapan dinamis ini memberikan peningkatan performa, terutama untuk koneksi yang diskalakan, dengan menyerap lonjakan koneksi yang tiba-tiba dan menggunakan kembali koneksi database yang ada.
Penggabungan Koneksi Terkelola terhubung ke cluster pooler, bukan database tertentu. Pooler kemudian mengelola koneksi masuk ke database. Hal ini memberikan waktu koneksi yang lebih singkat dan skalabilitas untuk workload Anda. Setiap pool dikaitkan dengan database dan pengguna yang unik. Setelah klien diautentikasi, pool akan menggunakan kembali koneksi server yang tidak ada aktivitas dalam pool untuk menghubungkan database ke server. Jika koneksi server tidak tersedia, koneksi server akan membuat koneksi server baru di pool untuk menghubungkan database. Jumlah pooler yang digunakan didasarkan pada jumlah core vCPU instance Anda.
Kasus penggunaan dan pertimbangan
Perhatikan hal-hal berikut saat Anda menggunakan Penggabungan Koneksi Terkelola:
- Meskipun Anda dapat menggunakan Penggabungan Koneksi Terkelola untuk workload transaksional apa pun, fitur ini memberikan manfaat throughput dan latensi terbesar untuk aplikasi yang berisi koneksi berumur pendek, atau aplikasi yang menghasilkan lonjakan koneksi.
- Untuk koneksi berumur panjang, performa koneksi menggunakan Penggabungan Koneksi Terkelola dapat sedikit lebih rendah daripada saat menggunakan koneksi langsung. Dalam hal ini, Penggabungan Koneksi Terkelola menyediakan penskalaan koneksi saat jumlah koneksi sangat tinggi. Namun, untuk aplikasi yang biasanya membuat koneksi berumur panjang, sebaiknya hindari penggunaan penggabungan koneksi.
- Anda dapat menggunakan Identity and Access Management untuk mengamankan koneksi ke instance, bergantung pada port yang digunakan Penggabungan Koneksi Terkelola. Untuk mengetahui informasi selengkapnya tentang cara kerja IAM di Cloud SQL dan batasannya, lihat Autentikasi IAM.
Untuk mengetahui informasi selengkapnya tentang cara mengaktifkan Penggabungan Koneksi Terkelola, lihat Mengonfigurasi Penggabungan Koneksi Terkelola.
Persyaratan
Untuk menggunakan Penggabungan Koneksi Terkelola, instance Anda harus memenuhi persyaratan berikut:
- Instance Anda harus berupa instance edisi Cloud SQL Enterprise Plus.
- Anda harus terhubung ke instance menggunakan koneksi langsung atau Proxy Auth Cloud SQL saja.
- Instance Anda harus disiapkan untuk akses layanan pribadi, menggunakan IP publik, atau berupa instance baru dengan Private Service Connect diaktifkan.
- Instance Anda harus menggunakan arsitektur jaringan Cloud SQL baru .
- Penggabungan Koneksi Terkelola memerlukan nomor versi pemeliharaan minimum
dari
POSTGRES_$version.R20250727.00_14. Untuk mengetahui informasi selengkapnya tentang cara melakukan pemeliharaan mandiri, lihat Melakukan pemeliharaan mandiri.
Opsi penggabungan
Penggabungan Koneksi Terkelola memungkinkan Anda mengelola cara penggabungan koneksi menggunakan parameter pool_mode. Anda dapat menggunakan opsi penggabungan berikut:
transaction(default): menggabungkan koneksi di tingkat transaksi. Koneksi akan dikembalikan ke pool setelah setiap transaksi selesai. Cloud SQL merekomendasikan penggunaan mode penggabungantransactionuntuk koneksi berumur pendek.session: menggabungkan koneksi di tingkat sesi. Setiap sesi menggunakan koneksi server khusus yang mempertahankan status sesi. Hal ini mengurangi efisiensi penggabungan. Saat klien terputus, koneksi server akan kembali ke kumpulan koneksi.
Opsi konfigurasi lanjutan
Anda dapat menyesuaikan Penggabungan Koneksi Terkelola menggunakan opsi konfigurasi berikut:
| Nama konfigurasi | Deskripsi |
|---|---|
max_pool_size
|
Jumlah maksimum koneksi server yang diizinkan untuk pasangan database dan pengguna di setiap kumpulan koneksi. Nilai default-nya adalah 50 koneksi. |
min_pool_size
|
Jumlah minimum koneksi server yang tersedia kapan saja di
setiap kumpulan koneksi.
Jika jumlah koneksi server kurang dari min_pool_size,
setelan ini akan menambahkan lebih banyak koneksi server ke pool. Hal ini membantu mengelola
peningkatan beban database yang tiba-tiba setelah periode tidak ada aktivitas dan memastikan
koneksi tersedia dan siap digunakan.
Nilai default-nya adalah 0 koneksi. |
max_client_connections
|
Jumlah maksimum koneksi yang diizinkan untuk instance Anda saat menggunakan Penggabungan Koneksi Terkelola. Nilai default-nya adalah 5.000 koneksi. |
max_prepared_statements
|
Jumlah maksimum pernyataan siap pakai bernama tingkat protokol yang didukung
dalam transaction mode penggabungan.
Menetapkan opsi ini ke 0 akan menonaktifkan dukungan pernyataan siap pakai. Untuk performa yang optimal, nilai ini harus melebihi jumlah pernyataan siap pakai yang umum digunakan di database Anda. Jumlah pernyataan siap pakai yang tinggi dalam Penggabungan Koneksi Terkelola dapat menyebabkan peningkatan penggunaan memori. Nilai default-nya adalah 0 pernyataan. |
client_connection_idle_timeout
|
Waktu koneksi klien tetap tidak ada aktivitas sebelum waktu koneksi habis. Nilai ini dapat berkisar dari 0 hingga 2.147.483 detik, dan nilai default-nya adalah 0 detik. |
server_connection_idle_timeout
|
Waktu koneksi server tetap tidak ada aktivitas sebelum waktu koneksi habis. Nilai ini dapat berkisar dari 0 hingga 2.147.483 detik, dan nilai default-nya adalah 600 detik. |
query_wait_timeout
|
Waktu kueri menunggu koneksi server dalam pool sebelum
waktu koneksi habis.
Menetapkan opsi ini ke 0 akan menonaktifkannya, yang memungkinkan antrean klien tidak terbatas. Mengaktifkan opsi ini akan mencegah server yang tidak responsif menahan koneksi. Nilai ini dapat berkisar dari 0 hingga 2.147.483 detik, dan nilai default-nya adalah 120 detik. |
ignore_startup_parameters
|
Parameter yang ingin Anda abaikan, yang tidak dilacak dalam paket startup Penggabungan Koneksi Terkelola secara default. |
server_lifetime
|
Waktu maksimum koneksi server tidak digunakan sebelum Penggabungan Koneksi Terkelola
menutupnya. Jika nilai ditetapkan ke 0 detik, koneksi
segera ditutup setelah digunakan.
Nilai default-nya adalah 3.600 detik. |
Batasan
Saat menggunakan Penggabungan Koneksi Terkelola dengan instance edisi Cloud SQL Enterprise Plus, pertimbangkan batasan berikut:
- Mengaktifkan Penggabungan Koneksi Terkelola pada instance yang ada akan menyebabkan database dimulai ulang.
- Penggabungan Koneksi Terkelola hanya dapat digunakan dengan Proxy Auth Cloud SQL versi 2.15.2 dan yang lebih baru.
- Jika Anda menggunakan Konektor Bahasa Go Cloud SQL, sebaiknya gunakan Go versi
1.24atau yang lebih baru. Jika Anda menggunakan Go versi 1.23 atau yang lebih lama, Anda mungkin mengalami batasan performa saat menggunakan Penggabungan Koneksi Terkelola. Jika Anda menggunakan Penggabungan Koneksi Terkelola dalam mode penggabungan
transaction, fitur SQL berikut tidak didukung:SET/RESETLISTENWITH HOLD CURSORPREPARE/DEALLOCATE- Tabel sementara
PRESERVE/DELETE ROW LOAD- Kunci saran tingkat sesi
Jika Anda menggunakan library antarmuka database asyncpg untuk pooler Penggabungan Koneksi Terkelola di port 3307 dan 6432, Anda harus memperbarui
max_prepared_statementske nilai yang lebih besar dari 0 untuk mengaktifkan dukungan pernyataan siap pakai di pooler Penggabungan Koneksi Terkelola.Jika Anda menggunakan Cloud SQL untuk PostgreSQL versi 17, opsi
sslnegotiation=directtidak didukung.Pelacakan IP klien tidak didukung dengan Penggabungan Koneksi Terkelola. Jika Anda mengaktifkan simpan alamat IP klien di insight kueri, alamat IP klien akan ditampilkan sebagai
localbukan alamat IP itu sendiri.
Port yang digunakan oleh Penggabungan Koneksi Terkelola
Saat Anda mengaktifkan Penggabungan Koneksi Terkelola, port yang digunakan oleh instance Cloud SQL untuk menayangkan traffic database akan berubah. Anda dapat menggunakan Identity and Access Management untuk mengamankan koneksi, bergantung pada port.
Port yang digunakan oleh Penggabungan Koneksi Terkelola dan opsi IAM yang tersedia adalah sebagai berikut:
Port TCP
5432: digunakan untuk koneksi langsung oleh server database Postgres. Ini adalah nomor port default untuk terhubung langsung menggunakan klien psql.Port TCP
6432: digunakan untuk koneksi langsung oleh server Penggabungan Koneksi Terkelola. Untuk terhubung menggunakan port ini, tentukanpsql -p 6432saat terhubung langsung menggunakan klien psql.Anda dapat menggunakan opsi autentikasi IAM apa pun saat menggunakan port ini.
Port TCP
3307: digunakan untuk koneksi Proxy Auth Cloud SQL saja oleh server Penggabungan Koneksi Terkelola. Saat Anda menggunakan Proxy Auth Cloud SQL untuk terhubung ke Penggabungan Koneksi Terkelola, nomor port ini dikonfigurasi dengan klien Proxy Auth Cloud SQL dan tidak dapat diubah.Anda dapat menggunakan opsi autentikasi IAM apa pun , atau autentikasi database IAM otomatis dengan port ini.
Koneksi server yang digunakan oleh Penggabungan Koneksi Terkelola
Konfigurasi database max_connections membatasi jumlah maksimum koneksi server yang dapat digunakan oleh pooler di Penggabungan Koneksi Terkelola.
Cloud SQL merekomendasikan penyesuaian nilai ini berdasarkan persyaratan workload instance Anda dan ukuran instance database. Selama beban puncak, jumlah koneksi untuk autentikasi dapat menjadi sangat tinggi.
Jika Anda menggunakan max_pool_size default 50 pool di instance, sebaiknya sediakan setidaknya 15 koneksi server per CPU untuk Penggabungan Koneksi Terkelola saat Anda menetapkan flag max_connections untuk database.
Untuk mengetahui informasi selengkapnya tentang flag max_connections, lihat
Jumlah koneksi serentak maksimum.
Untuk mengubah flag max_connections untuk instance Anda,
lihat Mengonfigurasi flag database.