Postgres는 설치하려는 프로세서 수만큼 확장 할 수 있으며 OS는 효과적으로 처리 / 관리 할 수 있습니다. 128 코어 시스템 (또는 128 개의 물리적 프로세서가있는 시스템)에 Postgres를 설치할 수 있으며 제대로 작동합니다. 이 수 는 OS 스케줄러가 많은 코어를 처리 할 수 있는지 더 나은 64 코어 시스템보다 작동합니다.
Postgres는 최대 64 코어까지 선형으로 확장되는 것으로 나타났습니다 (주의 사항 : 우리는 특정 구성 (디스크, RAM, OS 등)에서 읽기 성능에 대해 이야기하고 있습니다 -Robert Haas는 멋진 그래프가있는 블로그 기사를 가지고 있습니다 아래를 재현했습니다.
이 그래프에서 중요한 것은 무엇입니까?
클라이언트 수가 코어 수 보다 작거나 같으면 관계가 선형 (또는 거의 동일) 한 다음 클라이언트 연결이 많을수록 성능 이 대략적으로 로그 선형으로 감소 하기 시작 합니다. 백엔드가 CPU와 싸우기 시작하기 때문에 Postgres 백엔드를 실행하기 위해 코어를 수행하십시오 (부하 평균이 1.0 이상 등).
최대 64 개의 코어에 대해서만 시연 되었지만 프로세스가 더 이상없는 다른 하위 시스템 (디스크, 메모리, 네트워크)의 한계까지 코어 (및 클라이언트)를 계속 추가하고 성능을 계속 향상시킬 수 있음을 일반화 할 수 있습니다. CPU 경합 문제가 있지만 대신 다른 것을 기다리고 있습니다.
( 또한 Haas는 일반적으로 확장성에 대한 훌륭한 참조 자료가있는 32 코어에 대한 선형 확장 성을 입증하는 또 다른 기사 를 가지고 있습니다.