sql >> Database >  >> RDS >> PostgreSQL

Verbindingspooling in Rails uitschakelen om PgBouncer te gebruiken

TLDR; verander niets

Het poolen in rails is anders dan het poolen in PGBouncer. De rails-verbindingspool is een groep verbindingen die beschikbaar is voor elke thread binnen dat proces, meestal slechts 1. Elke verbinding in uw rails-pool heeft een verbinding met uw postgres-database, of PGBouncer als die voor postgres zit. In een grote rails-app voer je meerdere rails-processen uit op elke server en meerdere servers achter een load balancer. Zoiets als dit:

Zonder PGBouncer creëert elke verbinding met postgres een nieuw postgres-proces. Op schaal wilt u het aantal postgres-processen dat wordt uitgevoerd beperken, zodat u de CPU en het geheugen niet maximaal benut. PGBouncer bundelt verbindingen van al uw rails-pools over alle processen en alle servers, en schakelt efficiënt tussen deze.




  1. De waarde van het invoerveld wijzigen wanneer de gebruiker de optie selecteert in het selectievak

  2. Hoe de primaire sleutelnaam te specificeren in EF-Code-First

  3. org.postgresql.util.PSQLException:Grote objecten mogen niet worden gebruikt in de modus voor automatisch vastleggen

  4. Voortschrijdend gemiddelde in postgresql