PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Apakah pemahaman saya tentang ukuran Unicorn, Sidekiq, dan DB Pool sudah benar?

Di Unicorn setiap proses membuat kumpulan koneksinya sendiri, jadi Anda jika pengaturan kumpulan db Anda adalah 5 dan Anda memiliki 5 pekerja Unicorn maka Anda dapat memiliki hingga 25 koneksi. Namun, karena setiap pekerja unicorn hanya dapat menangani satu koneksi pada satu waktu, maka kecuali jika aplikasi Anda menggunakan threading secara internal, setiap pekerja hanya akan benar-benar menggunakan koneksi satu db.

Di Sidekiq, koneksi di kumpulan dibagikan di seluruh utas, jadi Anda harus memiliki setidaknya satu koneksi yang tersedia per pekerja. Jika Anda memiliki konkurensi 5, maka kumpulan Anda harus setidaknya 5.

Memiliki ukuran kumpulan lebih besar dari 1 berarti setiap pekerja Unicorn memiliki akses ke koneksi yang tidak dapat digunakannya, tetapi itu tidak akan benar-benar membuka koneksi, jadi itu tidak masalah.

Jumlah total koneksi aktual yang dibutuhkan aplikasi Anda, kecuali Anda menggunakan utas dalam kode aplikasi Anda (dan mereka tidak berbagi koneksi db), adalah satu per pekerja Sidekiq ditambah satu per pekerja Unicorn.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mencoba mengatur postgres untuk aplikasi ror, mendapatkan kesalahan - fe_sendauth:tidak ada kata sandi yang diberikan

  2. Jumlah kumulatif (berjalan) dengan Django orm dan postgresql

  3. Pencocokan partisi tingkat lanjut untuk penggabungan partisi

  4. Apakah ADO bekerja dengan driver ODBC atau hanya penyedia OLE DB?

  5. Pemilihan skema PostgreSQL runtime dinamis di jOOQ