tutorial pgbouncer, postgresql & repmgr pada centos 7

4
462

halo sobat sekolahlinux, lama tidak membuat artikel nih saya 😀 hehe, dan sekarang saya coba iseng-iseng membuat artikel tentang tutorial menggunakan pgbouncer pada postgresql dan repmgr pada server centos 7

dalam tutorial kali ini kita menggunakan 3 buah node ya, detailnya untuk apa saja bisa kalian lihat dibawah

  • pgbouncer = 192.168.10.10
  • node1 (postgresql+repmgr master node) = 192.168.10.20
  • node2 (postgresql+repmgr slave node) = 192.168.10.30

node1 dan node2 kita gunakan untuk postgresql & repmgr, untuk tutorial postgresql kalian bisa mengikuti tutorial dibawah ini

jika sudah setup postgresql+repmgr selanjutnya login pada node1/node master repmgr, masuk pada mode user postgres

create user test_user dan db test_db

selanjutnya set password untuk user test_user yang tadi kita buat

selanjutnya lakukan perintah dibawah pada node1 dan node2, buka file pg_hba.conf, dan tambahkan paramater ini dibaris paling bawah

jika sudah save lalu restart service postgresql pada node1 dan node2

selanjutnya kita masuk ke node pgbouncer untuk install repo postgresql 9.6

selanjutnya buat symlink agar perintah pgbench nantinya bisa digunakan dengan mudah

selanjutnya buka file pgbouncer.ini lalu lakukan perubahan jika ada paramater yang isinya berbeda dan juga penambahan jika paramater tersebut belum ada, menjadi seperti dibawah

buat file userlist.txt

tambahkan paramater ini didalamnya

jika sudah save lalu restart service pgbouncer

selanjutnya kita akan coba melakukan benchmark pada postgresql pada node pgbouncer, pada proses benchmark ini kita tidak diizinkan didalam mode root, jadi masuk kedalam mode user pgbouncer

jika sudah selanjutnya sebelum kita melakukan benchmark kita harus generate beberapa table untuk yang nantinya akan digunakan untuk dalam proses benchmark, ikutin perintah dibawah untuk generate tablenya, jika diminta password masukan password yang kita buat untuk user test_user

hasilnya akan seperti dibawah

jika sudah selanjutkan coba kita benchmark dari node pgbouncer, pertama kita benchmark langsung ke server db postgresql tanpa melewati pgbouncer dengan perintah seperti dibawah, jika diminta password masukan password yang kita buat untuk user test_user

hasilnya akan seperti dibawah

jika sudah selanjutkan coba kita benchmark dari node pgbouncer, pertama kita benchmark langsung ke server db postgresql tanpa melewati pgbouncer dengan perintah seperti dibawah, jika diminta password masukan password yang kita buat untuk user test_user

hasilnya akan seperti dibawah

jadi dari hasil benchmark diatas pada jumlah koneksi 10 dan durasi 60 detik terlihat jelas bahwa jika kita menggunakan pgbouncer hasil tps nya lebih besar dan latency nya juga lebih kecil,

bagaimana jika node1 repmgr down, yang harus kalian lakukan pertama kali adalah melakukan promote master pada node2 repmgr slave agar menjadi master untuk caranya ada pada tutorial link rpmgr diatas, lalu rubah host pada pengaturan db di pgbouncer.ini jika sudah refresh rulenya dengan perintah dibawah ini

sekian tutorial kali ini 😀

4 COMMENTS

    • Mas Raafi, saya bantu jawab….
      TPS itu transaction per second… jadi pada percobaan diatas menggunakan pgbench, didapat hasil perbandingan bahwa transaksi yang dapat diterima node secara LANGSUNG maupun melalui node PGBOUNCER bisa terlihat bedanya…
      kalau transaksi LANGSUNG ke suatu node, tps-nya cuma bisa didapat tps = 84.741672… nah, kalau MENGGUNAKAN node PGBOUNCER, bisa mencapai tps = 445.853658

      Untuk mengetahui koneksi yang sedang terjadi melalui pooling pgbouncer, bisa dilihat melalui pgbouncer admin console…
      psql -p 6543 -U username pgbouncer

      lalu ketik “show pools;”

      Menariknya lagi, dengan pgbouncer ini kita bisa membuat automatic redirection ke node aktif pada saat terjadi failover dari node primary yang statusnya failed menuju ke node primary yang baru (setelah terjadi standby promote)

  1. dari sisi user, automatic redirection ini menguntungkan karena pada saat terjadi failover (yang proses standby promotenya BISA dibuat otomatis juga dengan menggunakan repmgrd daemon), jadi user TIDAK PERLU mengganti IP untuk mengarahkan ke database node yang baru

  2. bagian ini terpaste dua kali (2x) dan ada typo mas.
    Mohon diupdate
    ———————————
    jika sudah selanjutkan coba kita benchmark dari node pgbouncer, pertama kita benchmark langsung ke server db postgresql tanpa melewati pgbouncer dengan perintah seperti dibawah, jika diminta password masukan password yang kita buat untuk user test_user

LEAVE A REPLY

Please enter your comment!
Please enter your name here