Saya penulis pg-promise .
Ada beberapa tingkat optimasi untuk komunikasi database. Yang paling penting adalah meminimalkan jumlah kueri per permintaan HTTP, karena IO mahal, begitu juga kumpulan koneksi.
- Jika Anda harus menjalankan lebih dari satu kueri per permintaan HTTP, selalu gunakan tugas, melalui metode tugas .
- Jika tugas Anda memerlukan transaksi, jalankan sebagai transaksi, melalui metode tx .
- Jika Anda perlu melakukan banyak penyisipan atau pembaruan, selalu gunakan operasi multi-baris. Lihat Insert multi-baris dengan pg-promise dan Pembaruan multi-baris PostgreSQL di Node.js .
node-postgres mulai menggunakan pg-pool dari versi 6.x, sedangkan pg-promise tetap pada versi 5.x yang menggunakan implementasi pool koneksi internal. Berikut alasannya .
Praktik panjang saya di area ini menyarankan:Jika Anda tidak dapat memasukkan layanan Anda ke dalam kumpulan 20 koneksi, Anda tidak akan diselamatkan dengan menggunakan lebih banyak koneksi, Anda harus memperbaiki implementasi Anda sebagai gantinya. Selain itu, dengan melewati lebih dari 20, Anda mulai membebani CPU, dan itu berarti perlambatan lebih lanjut.
Ukuran data tidak ada hubungannya dengan ukuran kumpulan. Anda biasanya hanya menggunakan satu koneksi untuk satu unduhan atau unggahan, tidak peduli seberapa besar. Kecuali jika penerapan Anda salah dan Anda akhirnya menggunakan lebih dari satu koneksi, maka Anda harus memperbaikinya, jika Anda ingin aplikasi Anda skalabel.
Ini akan menunggu koneksi berikutnya yang tersedia.
Lihat juga: