github linkedin instagram email
Too Many Connection PHP ke Database Postgres
Jun 10, 2025
One minute read

Too Many Connection

Skrip PHP, khususnya dengan Apache atau PHP-FPM, memulai proses baru per permintaan, yang biasanya membuka koneksi DB baru.

Jika lalu lintas transaksi data melebihi kapasitas server database maka akan terjadi error “Too many connection” dan website biasannya akan nge-hang.

Ilustrasi-nya sebagai berikut:

Too Many

Apa itu PgBouncer?

PgBouncer adalah alat connection pooler ringan untuk PostgreSQL yang sangat efektif dan sering digunakan, terutama dalam aplikasi PHP.

Fungsi utamanya:

  • Mengelola dan mendaur ulang koneksi database agar tidak membuat koneksi baru setiap kali transaksi.
  • Mengurangi beban PostgreSQL, terutama saat banyak request masuk secara bersamaan (seperti pada aplikasi web PHP).
  • Melindungi PostgreSQL dari kelebihan koneksi dengan membatasi jumlah koneksi aktif.

Mengapa Cocok untuk PHP?

Aplikasi PHP (dengan Apache atau PHP-FPM) biasanya membuat proses baru untuk setiap request, dan ini sering membuka koneksi database baru setiap kali.

Tanpa pooling, traffic tinggi = terlalu banyak koneksi ke database = performa menurun atau gagal.

Dengan PgBouncer:

  • Aplikasi PHP terhubung ke PgBouncer, bukan langsung ke PostgreSQL.
  • PgBouncer menyimpan koneksi ke PostgreSQL dan mengatur penggunaan ulang koneksi.
  • Proses PHP boleh hidup sebentar, tapi koneksi dari PgBouncer ke PostgreSQL tetap aktif dan stabil.

PgBouncer



Back to posts


comments powered by Disqus