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

Er min forståelse af Unicorn, Sidekiq og DB Pool størrelse korrekt?

I Unicorn etablerer hver proces sin egen forbindelsespulje, så hvis din db-poolindstilling er 5, og du har 5 Unicorn-arbejdere, kan du have op til 25 forbindelser. Men da hver enhjørning-arbejder kun kan håndtere én forbindelse ad gangen, vil hver arbejder kun faktisk bruge, medmindre din app bruger threading internt én db-forbindelse.

I Sidekiq er forbindelserne i puljen delt på tværs af tråde, så du skal have mindst én forbindelse tilgængelig pr. arbejder. Hvis du har en samtidighed på 5, så skal din pulje være mindst 5.

At have en poolstørrelse større end 1 betyder, at hver Unicorn-medarbejder har adgang til forbindelser, den ikke kan bruge, men den åbner faktisk ikke forbindelserne, så det betyder ikke noget.

Det samlede antal faktiske forbindelser, som din app kræver, medmindre du bruger tråde i din applikationskode (og de ikke deler en db-forbindelse), er én pr. Sidekiq-medarbejder plus én pr. Unicorn-medarbejder.




  1. Fejl:SQLSTATE[HY000] [2002] Ingen sådan fil eller mappe

  2. Kan du i en Rails Migration (MySQL) angive, hvilken position en ny kolonne skal have?

  3. Sådan rettes forkert strengværdi i MySQL

  4. MySQL Vælg Where In Many to Many