全部产品
Search
文档中心

PolarDB:Kolam koneksi tingkat transaksi

更新时间:Jul 02, 2025

PolarDB memungkinkan Anda menggunakan kolam koneksi tingkat transaksi untuk mengurangi beban database yang disebabkan oleh sejumlah besar koneksi.

Prasyarat

PolarProxy V2.3.46 atau versi lebih baru telah terpasang.

Informasi latar belakang

Model koneksi PolarDB for PostgreSQL(Kompatibel dengan Oracle) dan memerlukan pembuatan proses untuk setiap koneksi. Oleh karena itu, jika klien mempertahankan sejumlah besar koneksi jangka panjang secara bersamaan atau sering membuat koneksi baru, tekanan pada database meningkat dan kinerja menurun.

Untuk meningkatkan kinerja dalam skenario ini, PolarDB for PostgreSQL(Kompatibel dengan Oracle) dan menyediakan fitur kolam koneksi tingkat transaksi. Fitur ini memungkinkan beberapa koneksi frontend berbagi satu koneksi backend, sehingga mengurangi jumlah koneksi backend yang dibuat atau dipertahankan dan meningkatkan kemampuan pemrosesan database.

Prinsip

Kolam koneksi tingkat transaksi membantu mengurangi jumlah koneksi langsung ke database dan beban yang disebabkan oleh koneksi pendek yang sering terjadi.

Setelah fitur kolam koneksi tingkat transaksi diaktifkan, klien yang mengirim permintaan pertama kali terhubung ke PolarDB PolarProxy. PolarProxy tidak segera menetapkan koneksi antara klien dan database backend. PolarProxy memeriksa apakah ada koneksi idle dalam kolam koneksi tingkat transaksi yang sesuai dengan kondisi yang ditentukan oleh parameter permintaan seperti pengguna, dbname, dan variabel sistem. Jika tidak ada koneksi idle yang cocok dengan kondisi tersebut, PolarProxy membuat koneksi baru ke database. Jika ada koneksi idle yang cocok, PolarProxy menggunakan koneksi tersebut. Setelah transaksi dikomit, koneksi tetap dipertahankan dalam kolam koneksi untuk permintaan lainnya, mengurangi jumlah koneksi antara PolarProxy dan database.

Setelah fitur kolam koneksi tingkat transaksi diaktifkan, Anda dapat menetapkan ribuan koneksi antara klien dan PolarDB PolarProxy. Namun, hanya puluhan atau ratusan koneksi yang ditetapkan antara PolarProxy dan database backend.

PolarDB PolarProxy tidak membatasi jumlah koneksi. Jumlah maksimum koneksi ke titik akhir kluster PolarDB bervariasi berdasarkan spesifikasi node komputasi di database backend. Jika fitur kolam koneksi tingkat transaksi dinonaktifkan, sistem harus membuat koneksi pada node utama dan setiap node baca-saja setiap kali klien mengirim permintaan.

Prosedur

Aktifkan fitur kolam koneksi tingkat transaksi

  1. Masuk ke Konsol PolarDB.

  2. Klik Kluster di panel navigasi di sebelah kiri. Di pojok kiri atas halaman Kluster, pilih wilayah tempat kluster yang akan dikelola berada.

  3. Temukan kluster untuk mana Anda ingin mengaktifkan fitur kolam koneksi tingkat transaksi dan klik ID kluster.

  4. Di bagian URL, klik Configure.

  5. Di bagian Pengaturan Kolam Koneksi, pilih Transaction-level sebagai Connection Pool.

  6. Kemudian, klik OK.

Nonaktifkan fitur kolam koneksi tingkat transaksi

  1. Masuk ke Konsol PolarDB.

  2. Klik Kluster di panel navigasi di sebelah kiri. Di pojok kiri atas halaman Kluster, pilih wilayah tempat kluster yang akan dikelola berada.

  3. Temukan kluster untuk mana Anda ingin menonaktifkan fitur kolam koneksi tingkat transaksi dan klik ID kluster.

  4. Di bagian URL, klik Configure.

  5. Di bagian Pengaturan Kolam Koneksi, pilih Off sebagai Connection Pool.

  6. Kemudian, klik OK.

Batasan

  • Jika Anda melakukan salah satu dari operasi berikut, koneksi akan terkunci sampai koneksi ditutup. Koneksi yang terkunci tidak lagi dipertahankan dalam kolam koneksi dan menjadi tidak tersedia untuk permintaan lainnya.

    • Eksekusi pernyataan PREPARE.

    • Proses paket besar, seperti paket yang ukurannya melebihi 16 MB.

    • Mode salin.

    • Mode flush.

    • Buat tabel sementara, urutan, atau tampilan.

    • Gunakan transaksi.

    • Deklarasikan kursor.

  • Koneksi dapat digunakan untuk permintaan lainnya. Oleh karena itu, pid yang Anda kueri dengan menggunakan select pg_backend_pid() mungkin berbeda.

  • Koneksi dapat digunakan untuk permintaan lainnya. Oleh karena itu, alamat IP dan nomor port yang ditampilkan di pg_stat_activity atau Penjelajah SQL mungkin berbeda dari alamat IP dan nomor port Anda yang sebenarnya.

Cara memilih kolam koneksi

Anda dapat menentukan apakah akan mengaktifkan fitur kolam koneksi dan memilih jenis kolam koneksi berdasarkan rekomendasi berikut:

  • Layanan Anda memerlukan sejumlah kecil koneksi dan sebagian besar koneksi yang diperlukan adalah koneksi jangka panjang, atau kolam koneksi yang sudah mapan tersedia untuk layanan Anda. Dalam kasus ini, Anda tidak perlu mengaktifkan fitur kolam koneksi yang disediakan oleh PolarDB.

  • Layanan Anda memerlukan sejumlah besar koneksi seperti puluhan ribu koneksi, atau layanan Anda adalah layanan serverless yang koneksi-koneksinya meningkat secara linear berdasarkan skalabilitas vertikal atau horizontal server bisnis. Dalam kasus ini, Anda dapat mengaktifkan fitur kolam koneksi tingkat transaksi jika layanan Anda tidak berjalan dalam skenario yang dijelaskan di bagian "Batasan" topik ini.