sql >> Databasteknik >  >> RDS >> PostgreSQL

Är min förståelse av storleken Unicorn, Sidekiq och DB Pool korrekt?

I Unicorn upprättar varje process sin egen anslutningspool, så om din db-poolinställning är 5 och du har 5 Unicorn-arbetare kan du ha upp till 25 anslutningar. Men eftersom varje enhörningsarbetare bara kan hantera en anslutning åt gången, så kommer varje arbetare bara faktiskt använda om inte din app använder threading internt en db-anslutning.

I Sidekiq är anslutningarna i poolen delade över trådar, så du måste ha minst en anslutning tillgänglig per arbetare. Om du har en samtidighet på 5, måste din pool vara minst 5.

Att ha en poolstorlek större än 1 innebär att varje Unicorn-arbetare har tillgång till anslutningar som den inte kan använda, men den kommer faktiskt inte att öppna anslutningarna, så det spelar ingen roll.

Det totala antalet faktiska anslutningar som din app kräver, om du inte använder trådar i din applikationskod (och de inte delar en db-anslutning), är en per Sidekiq-arbetare plus en per Unicorn-arbetare.




  1. laddar enorma XLS-data till Oracle med python

  2. MySQL SUM IF-fält b =fält a

  3. Kan jag redigera mysqli_result-objekt i php?

  4. Tomt tecken ignoreras i where-satsen