Pytanie Pracownik, wątki i rozmiar basenu za pomocą Puma


Jeśli mam serwer z 1 rdzeniem, ilu pracowników puma, wątków i jaki rozmiar puli bazy danych jest odpowiedni?

Jaki jest tutaj ogólny kciuk?


11
2018-02-02 11:56


pochodzenie




Odpowiedzi:


Nie jest to łatwa odpowiedź.

Dwa główne źródła informacji to:

  1. Puma github repozytorium (punkt widzenia autorów)
  2. Strona internetowa Heroku (punkt widzenia głównego użytkownika)

Niestety są one niespójne, głównie dlatego, że heroku ma różne metryki wdrażania i terminologię.

Więc skończyło się śledzeniem wytycznych repozytorium puma, które mówi:

  • Jeden pracownik na rdzeń
  • Wątki do ustalenia w związku z dostępnością pamięci RAM i aplikacją oraz
  • Wątki = Pula połączeń

Tak więc liczba wątków jest głównie operacją try i check.


9
2018-05-02 09:52



Wytyczne "Jeden robotnik na rdzeń" są często rzucane, ale w zasadzie są przeciwieństwem tego, co mówi Heroku (podają pamięć RAM jako jedyny czynnik ograniczający pracowników i sugerują, że wątki powinny być powiązane z dostępnym procesorem). Czy ktoś jeszcze dał ostatnie słowo na ten temat? Wersja Heroku ma dla mnie więcej sensu, intuicyjnie. - robomc
Jak rozumiem, prawdziwą korzyścią pracowników z Puma jest równoległość, ponieważ są to oddzielne procesy ruby. Jeśli masz tylko 1 rdzeń, naprawdę nie ma powodu, aby używać więcej niż jednego pracownika, ponieważ nie mogą działać równolegle. To powiedziawszy, Heroku może odkryć inne ulepszenia wydajności korzystania z wielu pracowników, nawet w jednym rdzeniu. - Chris Hall
Masz całkowitą rację i umieściłem to jako część wytycznych: jeden pracownik na rdzeń;) - tommasop
Czy mam rację zakładając, że "rdzeń" to to samo, co heroku? - Matt
W środowisku z jednym rdzeniem zauważyłem duże opóźnienia z wieloma procesami. - GorillaApe