PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Czy moje rozumienie wielkości Unicorn, Sidekiq i DB Pool jest prawidłowe?

W Unicorn każdy proces ustanawia swoją własną pulę połączeń, więc jeśli Twoja pula baz danych jest ustawiona na 5 i masz 5 pracowników Unicorn, możesz mieć do 25 połączeń. Ponieważ jednak każdy pracownik jednorożca może obsłużyć tylko jedno połączenie naraz, jeśli aplikacja nie używa wewnętrznie wątków, każdy pracownik będzie faktycznie używać jedno połączenie db.

W Sidekiq połączenia w puli są współdzielone przez wątki, więc musisz mieć co najmniej jedno dostępne połączenie na pracownika. Jeśli masz współbieżność 5, Twoja pula musi wynosić co najmniej 5.

Posiadanie puli o rozmiarze większym niż 1 oznacza, że ​​każdy pracownik jednorożca ma dostęp do połączeń, z których nie może korzystać, ale w rzeczywistości nie otwiera połączeń, więc to nie ma znaczenia.

Całkowita liczba rzeczywistych połączeń wymaganych przez Twoją aplikację, chyba że używasz wątków w kodzie aplikacji (i nie współdzielą one połączenia z bazą danych), wynosi jeden na pracownika Sidekiq plus jeden na pracownika Unicorn.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. funkcja xlookup w SQL

  2. Tabela partycjonowania na podstawie pierwszej litery pola varchar

  3. Dlaczego \dt PostgreSQL pokazuje tylko publiczne tabele schematów?

  4. FATAL:uwierzytelnianie hasła nie powiodło się dla użytkownika postgres (postgresql 11 z pgAdmin 4)

  5. Aplikacja do monitorowania zapytań PostgreSQL w czasie rzeczywistym?