본문 바로가기

개발하면서

PostgreSQL 성능을 위한 설정 ( postgresql.conf 설정 )

반응형
PostgreSQL을 사용하여 프로젝트를 할 경우
적절한 성능을 유지하기 위해서 기본값 대신에 몇가지 설정을 해야 한다.

( ../data/postgresql.conf 파일에 설정 )

 

  • Max_Connection : 최대 접속 수
  • shared_buffer :먼저 디스크에서 필요한 데이터를 공유 버퍼로 먼저 읽어 들인다.  그리고, 공유 버퍼에서 데이터를 읽고, 쓰기를 처리한다 공유 버퍼의 크기는 기본 32M 이지만, 대략 서버 메모리 기준으로 1/4 ~ 1/2 정도로 할당한다
  • effective_cash_size : 캐시할 수 있는 메모리 양이 증가 값이 클수록 데이터베이스에서 index를 더 많이 사용함 권장값은 RAM 값의 50% 이상으로 설정한다.

 

등등.. 운영되는 서버의 사양 및 서비스의 용도에 따라 설정 값이 적절하게 설정 되어야 한다.

이런 설정 값을 대략적으로 산출해 주는 사이트가 있어서 소개를 할까 한다.

 

 

PGTune

https://pgtune.leopard.in.ua/

 

PGTune - calculate configuration for PostgreSQL based on the maximum performance for a given hardware configuration

 

pgtune.leopard.in.ua

 

1. PostgreSQL 서버의 사양 및 사용 용도에 대하여 입력 한다.

더보기

①항목에 관련된 값을 입력 한다. "what is this ?" ② 항목을 참고하여 관련 항목의 설정 값의 차이를 확인 할 수 있다.

③ "Generate" 를 하면 아래와 같이 설정 값이 생성이 된다. 

 

2. Generate 된 설정 값을 시스템에 설정한다.

 

더보기

④ 항목의 값을  "postgresql.conf" 에 설정 한다.

 

어떤 프로그램이라고 하더라도 실제로 서비스를 운영하다 보면, 데이터가 쌓이는 규모나 형태 (잦은 Update 등 )에 따라서 적절한 관리가 필요하다. PostgreSQL DB 도 마찬가지이다. 프로그램 자체가 가지고 있는 성능이 우수하더라도 닦고 조이지 (?) 않으면 언제든지 멈출 준비가 되어 있다는 것을 명심해야 할 것이다.

 

반응형