일상/IT

Data Storage Strategy : PostgreSQL 성능에 미치는 영향

얇은생각 2023. 10. 24. 07:30
반응형

PostgreSQL 무료 오픈 소스 버전은 엔터프라이즈 지원 버전입니다. 읽기/쓰기 작업량이 많은 워크로드에서도 성능을 향상시키는 방법은 다음과 같습니다.

PostgreSQL 100% 무료 오픈 소스 버전에서 엔터프라이즈 지원 데이터베이스로서의 효과를 지속적으로 강화하고 있습니다. 데이터 팀은 OS PostgreSQL 대해 자신감을 가져야 하며 다용도적이고 비용이 많이 드는 오픈 코어 Postgre 재패키징에 속지 말아야 합니다.

, 적절한 보완 기술 전략으로 오픈 소스 PostgreSQL 지원하는 것은 존경받는 관계형 데이터베이스가 제공하는 가치에 지대한 영향을 미칠 있습니다. 예를 들어, 빠른 스토리지 전략으로 PostgreSQL 데이터베이스 구현을 지원하는 기업은 서버가 처리할 있는 TPS 워크로드의 대폭적인 증가를 포함하여 고급 성능 이점을 실현할 있습니다.

비교적 작은 클러스터(8 코어) 사용한 최근의 실험에서 Azure NetApp Files(ANF)에서 Instaclustr Managed PostgreSQL 실행하면 성능이 최대 270% 향상되었습니다. Azure에서 PostgreSQL 사용 사례가 있는 기업의 경우 이러한 결과를 통해 PostgreSQL 유용한 파일 저장 기술과 결합할 있습니다. 

 

테스트 방법론

 테스트를 실행하기 위해 pgbench 사용했습니다. PostgreSQL 인스턴스와 동일한 네트워크에서 pgbench 실행하는 별도의 VM 생성하여 네트워크를 통해 데이터베이스와 대화하는 고객 애플리케이션을 시뮬레이션했습니다.

비교를 수집하기 위해 개의 인스턴스를 테스트했습니다. DS13 인스턴스는 Microsoft Premium SSD에서 실행되고 E8s_v4 ANF Premium 스토리지에서 실행됩니다.

 

InstaclustrPGS-PRD-표준_DS13_v2-2000 (8vCPU56GBRAM2TB스토리지)

InstaclustrPGS-PRD-표준_E8s_v4-2048-ANF(8vCPU64GBRAM2TB스토리지)

참고: 최근 Postgres-ANF 릴리스의 일부로 VM 하드웨어를 이전 Dsv2에서 최신 Esv4 업그레이드했습니다. 이는 경제성이 약간 높으며, 테스트 결과 고급 디스크 비교 성능에 영향을 미치지 않는 것으로 나타났습니다

테스트를 하기 전에 데이터베이스에 1.5TB 데이터를 로드하여 프로덕션 워크로드의 시뮬레이션이 제대로 이루어졌는지 확인했습니다. 벤치마킹 테스트 전에 소량의 데이터만 로드할 경우 데이터가 RAM 캐싱될 있으며 실제 성능을 정확하게 나타내지 못한다는 사실을 과거에 확인했습니다.

테스트는 확장성을 조사하기 위해 서로 다른 클라이언트 수를 루프하기 위해 bash 스크립트를 통해 진행되었으며, 구성별로 3 테스트를 수행하여 결과를 평균화하였습니다.

반복 실행 사이의 최소 편차가 확인되었습니다. pgbench 구성에서는 스케일이 10,000으로 설정되었습니다. 4, 8, 16, 32, 64, 96번을 반복적으로 거쳤습니다

 

 

퍼포먼스 튜닝

초기 테스트에서 postgres-ANF 서버는 clients= cores 성능이 매우 우수한 것으로 나타났지만 이상으로 성능이 예상치 못하게 떨어집니다. 조사 메트릭 로깅을 통해 WAL 압축 bgwriter_ delay 병목 현상이 생성되고 있음을 있었습니다. 이러한 매개 변수를 조정하면 8개의 클라이언트 수를 훨씬 초과하여 아래에 보이는 결과를 얻을 있었습니다. 이러한 조정 최적화는 현재 Instaclustr Managed PostgreSQL 기본으로 구현되어 있으며 아래 결과는 현재 기본 설정을 기반으로 합니다.

 

 

결과

읽기/쓰기 워크로드

읽기 / 쓰기   워크로드

 

 

ANF 스토리지에서 사용 가능한 IOPS 증가함에 따라 PostgreSQL 애플리케이션의 성능이 크게 향상되었습니다. 가장 높은 증가 속도는 8개의 클라이언트에서 동급의 Azure Premium Disk 기반 Instaclustr 서버보다 167% 빨랐고, 최악의 증가 속도는 32개의 클라이언트에서 127% 높았습니다. ANF 스토리지는 일관되게 높은 TPS 제공했고, 테스트한 모든 클라이언트 수에서 내구성이 훨씬 빨랐으며, 이러한 결과는 여러 날에 걸쳐 반복적으로 실행되는 동안에도 일관성 있게 유지되었습니다. 

 

 

읽기 전용 워크로드

읽기   전용   워크로드

  

ANF 스토리지에서 사용 가능한 IOPS 증가함에 따라 PostgreSQL 애플리케이션의 읽기 전용 성능이 더욱 극적으로 향상되었습니다. 가장 높은 증가 속도는 64개의 클라이언트에서 Azure Premium Disk 기반 Instaclustr 서버보다 325% 빨랐고, 최악의 경우 16개의 클라이언트에서 193% 증가했습니다. 다시 , TPS 테스트한 모든 클라이언트 수에서 일관되게 높았으며, 이러한 결과는 여러 날에 걸쳐 반복적으로 실행되는 동안 입증되었습니다.

 

 

스토리지가 PostgreSQL 성능에 상당한 영향을 끼침

읽기/쓰기 작업량이 많거나 읽기/쓰기 작업량이 많은 데이터 팀의 경우 고성능 데이터 스토리지를 사용하여 PostgreSQL 클러스터를 지원하는 것이 좋습니다. 작업량이 작고 작업량이 적은 기업의 경우 Azure Premium Disk 기반 PostgreSQL 노드의 이점도 누릴 있습니다.

기업은 100% 오픈 소스 PostgreSQL 활용함으로써 얻을 있는 모든 이점에도 불구하고 지원 데이터 스토리지 전략을 도입하면 이러한 이점을 더욱 강화할 있습니다.

반응형