J'ai eu les mêmes problèmes qui ont été causés par trop de connexions ouvertes à la base de données. Cela peut se produire lorsque vous avez des requêtes de base de données en dehors d'un contrôleur (dans un modèle, un mailer, un générateur de pdf, ...).
Je pourrais résoudre ce problème en enveloppant ces requêtes dans ce bloc qui ferme automatiquement la connexion.
ActiveRecord::Base.connection_pool.with_connection do
# your code
end
Étant donné que Puma fonctionne en multithread, la taille du pool (comme l'a mentionné eabraham) peut également être une limitation. Essayez de l'augmenter (un peu)...
J'espère que cela vous aidera !