全部产品
Search
文档中心

ApsaraDB RDS:Aktifkan atau nonaktifkan kolam koneksi (PgBouncer)

更新时间:Nov 10, 2025

Jika skenario bisnis Anda melibatkan banyak koneksi singkat atau memerlukan pembuatan dan penghapusan koneksi secara berkala, Anda dapat mengaktifkan fitur kolam koneksi untuk ApsaraDB RDS for PostgreSQL. Fitur ini menggunakan kembali koneksi database untuk mengurangi overhead performa pada instans Anda secara signifikan. Selain itu, fitur ini membantu mengontrol beban server dan konsumsi sumber daya.

Fitur

Fitur kolam koneksi ApsaraDB RDS for PostgreSQL didasarkan pada komponen open source PgBouncer. Komponen ini bertindak sebagai middleware antara aplikasi Anda dan database untuk mengelola serta menggunakan kembali koneksi database.

  • Penggunaan ulang koneksi: Kolam koneksi memprioritaskan penggunaan ulang koneksi yang ada, sehingga menghindari overhead performa dari seringnya pembuatan dan penghapusan koneksi. Hal ini mengurangi beban server database, meningkatkan waktu respons aplikasi, dan meningkatkan konkurensi.

  • Kontrol sumber daya: Kolam koneksi memungkinkan Anda menetapkan batasan pada parameter seperti jumlah maksimum koneksi klien dan waktu idle maksimum, mencegah terlalu banyak koneksi yang mengonsumsi sumber daya sistem.

Prasyarat

Instans ApsaraDB RDS for PostgreSQL Anda harus memenuhi persyaratan berikut:

  • Versi mesin utama instans adalah PostgreSQL 11 atau yang lebih baru.

  • Seri produk adalah Edisi Dasar atau Edisi Ketersediaan Tinggi.

  • Metode penagihan adalah langganan atau bayar sesuai penggunaan.

  • Versi mesin minor instans adalah 20240830 atau yang lebih baru, dan nomor versi tidak memiliki akhiran babelfish.

    Catatan

    Untuk informasi lebih lanjut tentang cara melihat atau meningkatkan versi mesin minor, lihat Tingkatkan versi mesin minor instans ApsaraDB RDS for PostgreSQL.

Penagihan

Fitur ini gratis.

Catatan

  • Saat Anda mengaktifkan PgBouncer, port PgBouncer baru (default: 6432) dialokasikan. Akses langsung melalui port database asli (default: 5432) tidak terpengaruh. Setelah Anda menonaktifkan PgBouncer, Anda tidak lagi dapat mengakses instans melalui port PgBouncer. Pastikan aplikasi Anda dikonfigurasi untuk menggunakan port database asli.

  • Setelah Anda mengaktifkan PgBouncer, sistem secara otomatis menginstal plugin pgbouncer_fdw dan dblink di database postgres untuk mendukung melihat metrik kolam koneksi. Plugin ini tidak dapat dihapus.

  • Saat Anda mengaktifkan enkripsi SSL untuk sebuah instans, PgBouncer juga mengaktifkan SSL. Namun, ini tidak mendukung autentikasi koneksi dengan Daftar Kontrol Akses (ACL) disetel ke `verify-ca` atau `verify-full`, atau penggunaan file pencabutan sertifikat klien.

  • Untuk aplikasi yang melibatkan transaksi kompleks, memerlukan pelacakan status koneksi database, atau menggunakan fitur PostgreSQL tertentu, hubungkan langsung ke database alih-alih menggunakan PgBouncer.

  • Waktu idle maksimum untuk koneksi dalam kolam adalah 10 menit secara default. Koneksi idle yang melebihi durasi ini akan ditutup. Nilai ini tidak dapat diubah.

Prosedur

Aktifkan atau nonaktifkan kolam koneksi

  1. Buka halaman Instans. Di bilah navigasi atas, pilih wilayah tempat instans RDS berada. Kemudian, temukan instans RDS dan klik ID instans tersebut.

  2. Di panel navigasi di sebelah kiri, klik Database Connection.

  3. Klik Enable PgBouncer atau Disable PgBouncer.

  4. Di kotak dialog yang muncul, klik OK.

  5. Setelah PgBouncer diaktifkan, Anda dapat melihat port PgBouncer (default: 6432) di halaman Database Connection.

    Anda dapat mengklik Change Endpoint. Di jendela Change Endpoint, pilih tipe titik akhir dan modifikasi PgBouncer Port.

Hubungkan ke instans RDS for PostgreSQL melalui kolam koneksi

Setelah Anda mengaktifkan PgBouncer, ganti port koneksi dengan port PgBouncer (default: 6432) di aplikasi atau klien Anda. Parameter koneksi lainnya, seperti titik akhir, nama pengguna, dan kata sandi, tetap tidak berubah. Untuk informasi lebih lanjut tentang cara menghubungkan ke instans, lihat Hubungkan ke instans ApsaraDB RDS for PostgreSQL.

Modifikasi parameter kolam koneksi

Setelah Anda mengaktifkan PgBouncer, Anda dapat menggunakan fitur Pengaturan Parameter untuk memodifikasi parameter PgBouncer dan menyesuaikan konfigurasi kolam koneksi, seperti mengontrol jumlah maksimum koneksi klien.

  • Anda dapat melihat dan memodifikasi parameter PgBouncer menggunakan fitur Pengaturan Parameter setelah mengaktifkan PgBouncer.

  • Jika Anda ingin menggunakan template parameter untuk memodifikasi parameter dalam batch, pertama-tama aktifkan PgBouncer, lalu terapkan template parameter ke instans RDS for PostgreSQL Anda.

    Template parameter default adalah PostgreSQL_PgBouncer_Default Parameter Template (rpg-sys-pgsql-pgbouncer).

Parameter yang dapat dimodifikasi dijelaskan sebagai berikut:

Parameter

Tipe

Nilai default

Deskripsi

pgbouncer.pool_mode

string

transaction

Mode kolam koneksi.

  • session: Koneksi dicabut saat sesi berakhir.

  • transaction: Koneksi dicabut saat transaksi berakhir.

  • statement: Koneksi dicabut setelah pernyataan pencarian dieksekusi.

pgbouncer.default_pool_size

int

20

Jumlah default koneksi yang diizinkan dalam kolam koneksi.

pgbouncer.max_client_conn

int

100

Jumlah maksimum koneksi klien yang diizinkan oleh kolam koneksi.

pgbouncer.min_pool_size

int

0

Jumlah minimum koneksi klien yang diizinkan oleh kolam koneksi.

pgbouncer.query_wait_timeout

int

120

Waktu maksimum dalam detik bahwa kueri dapat menunggu dalam antrian untuk eksekusi. Nilai 0 menunjukkan waktu tunggu tak terbatas. Jika kueri habis waktu, klien secara otomatis terputus.

pgbouncer.ignore_startup_parameters

string

"extra_float_digits"

Daftar parameter tambahan yang diabaikan oleh kolam koneksi, dipisahkan koma.

Secara default, kolam koneksi hanya memproses parameter inti (client_encoding, datestyle, timezone, standard_conforming_strings). Parameter lain menyebabkan koneksi ditolak. Untuk mendukung parameter tambahan, daftarkan mereka di sini. Kolam koneksi secara otomatis mengabaikan parameter ini untuk memastikan koneksi berhasil.

Penting

Saat Anda menambahkan parameter lain, pertahankan extra_float_digits untuk memastikan kompatibilitas dengan koneksi Java Database Connectivity (JDBC) PostgreSQL.

pgbouncer.stats_users

string

""

Daftar pengguna, dipisahkan koma, yang diizinkan untuk terhubung ke database virtual kolam koneksi dan menjalankan kueri read-only.

Untuk informasi lebih lanjut tentang parameter, lihat dokumentasi resmi PgBouncer.

Lihat metrik kolam koneksi

Anda dapat menggunakan fitur Pemantauan Ditingkatkan untuk melihat metrik kolam koneksi. Metrik terkait tersedia di Pemantauan Ditingkatkan hanya setelah Anda mengaktifkan fitur kolam koneksi.

Metrik tersebut adalah sebagai berikut:

Metrik

Deskripsi

db.pgbouncer.client_connections.active

Jumlah koneksi klien aktif.

db.pgbouncer.client_connections.waiting

Jumlah koneksi klien yang menunggu.

db.pgbouncer.server_connections.active

Jumlah koneksi server aktif.

db.pgbouncer.server_connections.idle

Jumlah koneksi server idle.

db.pgbouncer.total_pooled_connections

Jumlah total koneksi dalam kolam koneksi.

db.pgbouncer.num_pools

Jumlah kolam koneksi.

Operasi API Terkait

Anda dapat memanggil operasi ModifyDBInstanceConfig untuk mengaktifkan atau menonaktifkan fitur PgBouncer untuk instans RDS for PostgreSQL. Parameter yang harus Anda konfigurasikan adalah sebagai berikut:

Parameter

Deskripsi

Contoh

DBInstanceId

ID instans RDS for PostgreSQL untuk mana Anda ingin mengaktifkan atau menonaktifkan fitur PgBouncer.

pgm-****

ConfigName

Nama item konfigurasi.

pgbouncer

ConfigValue

Nilai item konfigurasi.

  • true: mengaktifkan fitur.

  • false: menonaktifkan fitur.

true