Postgres może skalować się do dowolnej liczby procesorów, którą chcesz zainstalować, a Twój system operacyjny może efektywnie obsługiwać / zarządzać. Możesz zainstalować Postgres na maszynie 128-rdzeniowej (a nawet na maszynie ze 128 procesorami fizycznymi) i będzie działać dobrze. To może nawet lepiej niż na maszynie 64 rdzenia jeśli harmonogram OS może obsłużyć że wielu rdzeni.
Wykazano, że Postgres skaluje się liniowo do 64 rdzeni (z zastrzeżeniami: mówimy o wydajności odczytu, w określonej konfiguracji (dysk, pamięć RAM, system operacyjny itp.) - Robert Haas ma artykuł na blogu z ładnym wykresem który Przedstawiłem poniżej:
Co jest ważne w tym wykresie?
Zależność jest liniowa (lub prawie taka), o ile liczba klientów jest mniejsza lub równa liczbie rdzeni , a następnie zaczyna się to, co wydaje się być w przybliżeniu log-liniowy spadek wydajności, jak masz więcej połączeń klienckich niż ty wykonaj rdzenie, aby uruchomić backendy Postgres, ponieważ backend zaczyna walczyć o procesor (średnia obciążenie przekracza 1,0 itd.).
Chociaż było tylko wykazane dla maksymalnie 64 rdzeni, możesz uogólnić, że możesz nadal dodawać rdzenie (i klientów) i dalej zwiększać wydajność, aż do limitu niektórych innych podsystemów (dysk, pamięć, sieć), w których procesy już nie są problemy z rywalizacją z procesorem, ale zamiast tego czekają na coś innego.
( Haas ma również inny artykuł, w którym udowodniono skalowalność liniową do 32 rdzeni, która zawiera świetny materiał odniesienia na temat skalowalności w ogóle - wysoce zalecane czytanie w tle!)