Postgres puede escalar hasta tantos procesadores como desee instalar, y su sistema operativo puede manejar / administrar de manera efectiva. Puede instalar Postgres en una máquina de 128 núcleos (o incluso en una máquina con 128 procesadores físicos) y funcionará bien. Incluso puede funcionar mejor que en una máquina de 64 núcleos si el programador del sistema operativo puede manejar tantos núcleos.
Se ha demostrado que Postgres escala linealmente hasta 64 núcleos (con advertencias: estamos hablando del rendimiento de lectura, en una configuración específica (disco, RAM, sistema operativo, etc.) - Robert Haas tiene un artículo de blog con un bonito gráfico que He reproducido a continuación:
¿Qué tiene de importante este gráfico?
La relación es lineal (o casi) siempre que el Número de clientes sea menor o igual que el Número de núcleos , y luego comienza lo que parece ser aproximadamente una disminución log-lineal en el rendimiento, ya que tiene más conexiones de clientes que usted hacer núcleos para ejecutar los backends de Postgres porque los backends comienzan a pelear por la CPU (el promedio de carga supera 1.0, etc.).
Si bien solo se ha demostrado para hasta 64 núcleos, puede generalizar que puede seguir agregando núcleos (y clientes) y seguir mejorando el rendimiento, hasta el límite de algún otro subsistema (disco, memoria, red) donde los procesos ya no están teniendo problemas de contención de CPU pero en cambio están esperando algo más.
( Haas también tiene otro artículo en el que demostraron una escalabilidad lineal a 32 núcleos que tiene un excelente material de referencia sobre la escalabilidad en general: ¡lectura de fondo muy recomendable!)