나는 Windows Server 2003에서 문제없이 빠른 PostgreSQL을 실행 해 왔으므로 내 자신의 질문에 대답하는 것이 좋습니다.
그러나 새 프로젝트를 시작하려고하며 안정성과 성능이 결정적인 대신 Linux 상자를 사용하는 것을 고려하고 있습니다. PostgreSQL은 주로 Linux 배포판에서 개발 된 것으로 보이므로 Linux를 사용하는 것이 더 좋을까요?
나는 Windows Server 2003에서 문제없이 빠른 PostgreSQL을 실행 해 왔으므로 내 자신의 질문에 대답하는 것이 좋습니다.
그러나 새 프로젝트를 시작하려고하며 안정성과 성능이 결정적인 대신 Linux 상자를 사용하는 것을 고려하고 있습니다. PostgreSQL은 주로 Linux 배포판에서 개발 된 것으로 보이므로 Linux를 사용하는 것이 더 좋을까요?
답변:
PostgreSQL은 Windows보다 Linux에서 확실히 더 빨리 실행됩니다 (그리고 Windows 포트를 작성한 사람 중 한 사람이라고 말합니다.) Unix 스타일 아키텍처를 위해 설계되었으며 Windows에서 이와 동일한 아키텍처를 구현합니다. Windows가 제대로 설계하지 않은 많은 작업을 수행합니다. 잘 작동 하지만 잘 작동 하지 않습니다.
예를 들어 PostgreSQL은 스레딩이 아닌 연결 당 프로세스 모델을 사용합니다. Windows는 스레딩을 수행하도록 설계되었습니다. 예를 들어 응용 프로그램에서 많은 연결 및 연결 해제를 수행하는 경우 Windows에서 확실히 느리게 실행됩니다.
NTFS를 선호하지 않는 파일 시스템에 대한 몇 가지 가정도 있습니다.
실제로 고려해야 할 사항-Windows를 사용하는 경우 대부분의 바이러스 백신 제품 은 PostgreSQL과 함께 사용할 때 이러한 유형의 워크로드 (예 : 동일한 파일에서 읽고 쓰는 1000 개의 서로 다른 프로세스)에 사용되지 않기 때문에 버그가 발생합니다. 다른 핸들을 통해). 즉, 가능한 경우 항상 모든 바이러스 백신을 제거하는 것이 좋습니다 (비활성화하거나 PostgreSQL 프로세스 / 파일을 제외하는 것만으로는 충분하지 않음). 그리고 이것은 성능상의 이유 일뿐만 아니라로드시 안정성입니다.
Ken은 알 수 있듯이 Postgres는 OS간에 차이를 만들지 않으며 Linux와 마찬가지로 Windows에서도 안정적 / 불안정합니다.
이 질문에 대한 유일한 대답은 시도해 보는 것입니다.
동일한 스펙으로 Linux 서버와 Windows 서버를 설정하고 두 시스템에서 동일한 양의 데이터를 사용하고 테스트를 실행하십시오.
추신 : 이것은 serverfault에서 더 잘 물어볼 수 있기 때문에 투표에 가깝습니다.
동일한 하드웨어의 경우 Windows가 아닌 Linux에서 더 나은 성능을 얻을 수 있다는 것을 이해합니다. 또한 Postgres는 Windows에서 실행되지만 * nix에서 훨씬 더 오래 실행되었습니다. 물론 상황에 따라 YMMV.
Postgres 성능에 대한 좋은 참고 자료는 "PostgreSQL 9.0 High Performance"( https://www.packtpub.com/postgresql-9-0-high-performance/book )입니다. 제목 9.0 이상을 다루기 때문에 제목은 약간 잘못되었습니다.
AFAIK Postgres는 차별하지 않으며 Windows의 기능이나 그와 유사한 것을 손상시키지 않습니다. 따라서 Linux가 필요한 Postgres는 없습니다.
일반적으로 Linux에 대해 묻는 것이 좋습니다. 일반적인 서버 플랫폼으로서의 Windows 대.
의견 : 그러나 돈을 위해 서버는 항상 Linux를 실행합니다. Windows에 미션 크리티컬 서버 소프트웨어를 설치하는 것을 꿈꾸지 않을 것입니다. 그냥 내 2 센트. 의견의 끝.
stability and **performance** are crucial