반응형
PostgreSQL을 사용하여 프로젝트를 할 경우
적절한 성능을 유지하기 위해서 기본값 대신에 몇가지 설정을 해야 한다.
( ../data/postgresql.conf 파일에 설정 )
- Max_Connection : 최대 접속 수
- shared_buffer :먼저 디스크에서 필요한 데이터를 공유 버퍼로 먼저 읽어 들인다. 그리고, 공유 버퍼에서 데이터를 읽고, 쓰기를 처리한다 공유 버퍼의 크기는 기본 32M 이지만, 대략 서버 메모리 기준으로 1/4 ~ 1/2 정도로 할당한다
- effective_cash_size : 캐시할 수 있는 메모리 양이 증가 값이 클수록 데이터베이스에서 index를 더 많이 사용함 권장값은 RAM 값의 50% 이상으로 설정한다.
등등.. 운영되는 서버의 사양 및 서비스의 용도에 따라 설정 값이 적절하게 설정 되어야 한다.
이런 설정 값을 대략적으로 산출해 주는 사이트가 있어서 소개를 할까 한다.
PGTune
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 도 마찬가지이다. 프로그램 자체가 가지고 있는 성능이 우수하더라도 닦고 조이지 (?) 않으면 언제든지 멈출 준비가 되어 있다는 것을 명심해야 할 것이다.
반응형
'개발하면서' 카테고리의 다른 글
PostgreSQL 에서 나누기 (0) | 2023.02.01 |
---|---|
PostgreSQL 에서 NVL .. COALESCE (0) | 2023.02.01 |
JEUS8 Spring SLF4J: Failed to load class "org.slf4j.impl.StaticMDCBinder". (1) | 2022.11.30 |
Spring Boot Quartz There is no DataSource named 'xxxxxDataSource' (0) | 2022.05.04 |
npm ERR! code ELIFECYCLE (0) | 2022.03.17 |