Cukup terlambat ke pesta di sini, tapi saya kehabisan koneksi database hari ini dalam produksi.
Seperti banyak orang, saya menggunakan Sidekiq untuk melakukan pekerjaan asinkron seperti mengirim email misalnya. Penting untuk dicatat bahwa Sidekiq berjalan sebagai proses multithread.
Jadi, saya tidak hanya memiliki aplikasi Rails utas tunggal, oleh karena itu jawaban ini tidak secara langsung berlaku untuk pertanyaan yang diajukan tetapi saya pikir ada baiknya mengatakan sesuatu di sini karena saya pikir aplikasi Rails multithreaded relatif normal saat ini.
Ini berarti Anda perlu menyesuaikan ukuran kumpulan Anda sedemikian rupa untuk membuat koneksi yang cukup untuk menangani semua pekerjaan yang dapat diantrekan dan memakan waktu lebih dari 5 detik (periode batas waktu default untuk menunggu koneksi database sebelum membuat kesalahan).