Postgres kann auf so viele Prozessoren skaliert werden, wie Sie installieren möchten, und Ihr Betriebssystem kann diese effektiv verwalten. Sie können Postgres auf einem 128-Core-Computer (oder sogar einem Computer mit 128 physischen Prozessoren) installieren, und es funktioniert einwandfrei. Es funktioniert möglicherweise sogar besser als auf einem 64-Core-Computer, wenn der OS-Scheduler so viele Kerne verarbeiten kann.
Es wurde gezeigt, dass Postgres linear auf 64 Kerne skaliert (mit Einschränkungen: Wir sprechen über die Leseleistung in einer bestimmten Konfiguration (Festplatte, RAM, Betriebssystem usw.) - Robert Haas hat einen Blog-Artikel mit einem schönen Diagramm, das Ich habe unten reproduziert:
Was ist an diesem Diagramm wichtig?
Die Beziehung ist linear (oder so fast), solange die Anzahl der Clients ist kleiner als oder gleich der Anzahl der Kerne , und beginnt dann , was in etwa eine log-linear sein sieht Rückgang der Leistung , wie Sie mehr Client - Verbindungen haben , als Sie Führen Sie Kerne aus, um Postgres-Backends auszuführen, da die Backends um die CPU kämpfen (der durchschnittliche Auslastungsgrad liegt über 1,0 usw.).
Obwohl dies nur für bis zu 64 Kerne demonstriert wurde , können Sie verallgemeinern, dass Sie weiterhin Kerne (und Clients) hinzufügen und die Leistung verbessern können, bis zu einem anderen Subsystem (Festplatte, Speicher, Netzwerk), in dem keine Prozesse mehr ausgeführt werden Probleme mit CPU-Konflikten haben, aber stattdessen auf etwas anderes warten.
( Haas hat auch einen anderen Artikel veröffentlicht, in dem die lineare Skalierbarkeit auf 32 Kerne nachgewiesen wurde, der ein großartiges Referenzmaterial zur Skalierbarkeit im Allgemeinen enthält - sehr empfehlenswertes Lesen im Hintergrund!)