본문 바로가기

Database/Postgresql

PGTune 을 이용하여 postgresql.conf 파라미터 설정하기

728x90
반응형

postgresql 구글링 중 postgresql 버전별로 postgresql.conf 권장 파라미터를 제공해 주는 사이트를 발견

 

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

 

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

 

pgtune.leopard.in.ua

 

Postgresql DB 버전, OS 유형, DB 유형, Memory, CPU 수, 최대 커넥션 수, 스토리지 유형을 선택하여 권장 파라미터 값을 확인할 수 있다.

 

BareMetal 기준 - 웹어플리케이션 용도의 DB서버를 구성하는 기준으로 권장 파라미터 값을 확인해 보자.

 DB Version  Postgresql 13  현재(2021.01.26) 최신버전 - Postgresql 13
 OS Type  Linux  RHEL/CentOS 에 설치를 많이 해서 Linux
 DB Type  Web Application  웹 어플리케이션 용도의 DBMS
 Total Memory(RAM)  64GB  메모리 - 64GB
 Number of CPUs  16  CPU - 총 16 Core
 Number of Connections  300  최대 커넥션 수 - 300
 Data Storage  SSD Storage  스토리지 유형은 SSD

 

PGTune - Web Application 용도

 

해당 설정값을 입력한 뒤 "Generate" 버튼을 클릭하면 권장 파라미터 값이 표시된다.

 

 

DB Type - Web Application

# DB Version: 13
# OS Type: linux
# DB Type: web
# Total Memory (RAM): 64 GB
# CPUs num: 16
# Connections num: 500
# Data Storage: ssd

max_connections = 500
shared_buffers = 16GB
effective_cache_size = 48GB
maintenance_work_mem = 2GB
checkpoint_completion_target = 0.7
wal_buffers = 16MB
default_statistics_target = 100
random_page_cost = 1.1
effective_io_concurrency = 200
work_mem = 8388kB
min_wal_size = 1GB
max_wal_size = 4GB
max_worker_processes = 16
max_parallel_workers_per_gather = 4
max_parallel_workers = 16
max_parallel_maintenance_workers = 4

 

DB Type - Data Warehouse

# DB Version: 13
# OS Type: linux
# DB Type: dw
# Total Memory (RAM): 64 GB
# CPUs num: 16
# Connections num: 500
# Data Storage: ssd

max_connections = 500
shared_buffers = 16GB
effective_cache_size = 48GB
maintenance_work_mem = 2GB
checkpoint_completion_target = 0.9
wal_buffers = 16MB
default_statistics_target = 500
random_page_cost = 1.1
effective_io_concurrency = 200
work_mem = 2097kB
min_wal_size = 4GB
max_wal_size = 16GB
max_worker_processes = 16
max_parallel_workers_per_gather = 8
max_parallel_workers = 16
max_parallel_maintenance_workers = 4

 

계산기준과 계산식이 궁금하면 PGTune Github 소스를 공부해보자.

github.com/le0pard/pgtune

 

le0pard/pgtune

Pgtune - tuning PostgreSQL config by your hardware - le0pard/pgtune

github.com

 

## 정리

권장 파라미터 값을 확인하는 방법을 알아 보았다. 하지만 해당 권장파라미터 값을 완전 100% 믿지 말자.

H/W상세스펙, OS파라미터, User의 사용패턴, 구동되는 어플리케이션에 따라 DB 파라미터 최적화는 꼭 필요할 것이다.

 

728x90
반응형