728x90
반응형
postgresql 구글링 중 postgresql 버전별로 postgresql.conf 권장 파라미터를 제공해 주는 사이트를 발견
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 |
해당 설정값을 입력한 뒤 "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 소스를 공부해보자.
## 정리
권장 파라미터 값을 확인하는 방법을 알아 보았다. 하지만 해당 권장파라미터 값을 완전 100% 믿지 말자.
H/W상세스펙, OS파라미터, User의 사용패턴, 구동되는 어플리케이션에 따라 DB 파라미터 최적화는 꼭 필요할 것이다.
728x90
반응형
'Database > Postgresql' 카테고리의 다른 글
postgresql/greenplum uptime을 to_char 함수로 보기편하게 변경하기 (0) | 2021.04.04 |
---|---|
[Postgresql] general_series 함수를 이용한 더미데이터 만드는 방법 (0) | 2021.02.26 |
Postgresql function 개발 및 예제 (0) | 2021.01.22 |
pgagroal 란? (0) | 2021.01.15 |
Postgresql 13 - pg_stat_statements 정의 및 기능정리 (0) | 2021.01.12 |