sql >> Database teknologi >  >> RDS >> PostgreSQL

Korrekt indstilling af databaseforbindelsespool database.yml for enkelttrådede Rails-applikationer

Ret sent til festen her, men jeg løb tør for databaseforbindelser i dag i produktionen.

Som mange andre bruger jeg Sidekiq til at udføre asynkrone opgaver som at sende e-mails for eksempel. Det er vigtigt at bemærke, at Sidekiq kører som en multitrådsproces.

Så det gør jeg ikke bare har en single-threaded Rails-applikation, derfor gælder dette svar ikke direkte for det stillede spørgsmål, men jeg tænkte, at det var værd at sige noget her, da jeg synes, multi-threaded Rails-apps er relativt normale nu til dags.

Dette betyder, at du skal justere din puljestørrelse på en sådan måde, at der oprettes nok forbindelser til at håndtere alle de job, der kan sættes i kø og tage længere tid end 5 sekunder (standard timeout-periode for at vente på en databaseforbindelse, før der opstår en fejl).



  1. CPU 100 % brug forårsaget af ukendt postgres-forespørgsel

  2. Kan ikke oprette forbindelse til server - En netværksrelateret eller instansspecifik fejl

  3. Sådan JOIN tabeller ved hjælp af en række datoer uden at have procedurer

  4. Alternativt outputformat til psql