PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Richtige Einstellung des Datenbankverbindungspools database.yml für Singlethread-Rails-Anwendungen

Ziemlich spät zur Party hier, aber mir sind heute in der Produktion die Datenbankverbindungen ausgegangen.

Wie viele Leute verwende ich Sidekiq, um asynchrone Aufgaben wie zum Beispiel das Versenden von E-Mails auszuführen. Es ist wichtig zu beachten, dass Sidekiq als Multithread-Prozess ausgeführt wird.

Also ich nicht nur eine Singlethread-Rails-Anwendung haben, daher trifft diese Antwort nicht direkt auf die gestellte Frage zu, aber ich dachte, es lohnt sich, hier etwas zu sagen, da ich denke, dass Multithread-Rails-Apps heutzutage relativ normal sind.

Dies bedeutet, dass Sie Ihre Poolgröße so anpassen müssen, dass genügend Verbindungen erstellt werden, um alle Jobs zu verarbeiten, die in die Warteschlange gestellt werden können und länger als 5 Sekunden dauern (die standardmäßige Zeitüberschreitung zum Warten auf eine Datenbankverbindung, bevor ein Fehler ausgegeben wird).