PostgreSQL 파라미터 설정 Part.2 (postgresql.conf)
· RESOURCE USAGE (except WAL) PostgreSQL운영 리소스 제어
shared_buffers = 16
공유메모리 설정으로 max_connections수 2배는 설정을 해주어야 하며, OS의 Shared Memory 설정까지만 설정이 가능하다.
work_mem = 1024
작업용 메모리 상한선을 지정하는 것으로 Sorting(Order by), Distinct시, In,merge join 등 결과를 만들어 내기위해 쿼리에 해당되는 정렬이나 임시 저장을 위한 공간 확보의 상한선을 주는 것
(이는 모든 합계가 아니라, 각 쿼리당으로 설정 값이 반영되므로 주의 필요)
· Kernel Resource Usage (Kernel 리소스 이용에 대한 제어)
max_files_per_process = 1000 min 25
각 PostgreSQL Process(Child Process)가 Open할 수 있는 최대 파일 수 입니다.
이는 Kernel설정값 file-max와 연관된 것으로, Kernel에서 제한 되어있다면 설정을 안해도 되지만 Unlimit로 되어 있거나 file-max로 설정 되어있는 경우 설정 필요.
preload_libraries = ''
PreLoad 서버 Start시 함께 메모리에 적재할 Library를 설정하는 것입니다.
PL(Procedure Language) Library에 대해 미리 설정하면 PL 로 작성된 함수들의 빠른 처리가 가능해 집니다.
· Cost-Based Vacuum Delay
vacuum_cost_delay = 0 0-1000 milliseconds
vacuum_cost_page_hit = 1 0-10000 credits
vacuum_cost_page_miss = 10 0-10000 credits
vacuum_cost_page_dirty = 20 0-10000 credits
vacuum_cost_limit = 200 0-10000 credits
PostgreSQL 의 단편작업과 오류수정과 최적화를 위해 vacuum을 실행합니다.
Vacuum 실행 시 잠시 데이타에 Lock이 되거나, Delay가 생겨 본 작업수행에 지장을 주는데, 위 설정으로 Delay를 주어 허용된 범위 이상으로 리소스를 찾지 않게 설정 하는 것 입니다.
· 체크 포인트에 대한 제어
checkpoint_segments = 1
WAL의 체크포인트를 찍는 최대 거리를 정함.
1 세그먼크당 약 16MB(16*1024)의 텀이 생깁니다. (디폴트 3)
checkpoint_timeout = 300
WAL Auto Check Point 간격의 시간을 정하는 것으로 , 초 단위 설정을 하시면 됩니다.
(디폴트는 300초)
checkpoint_warning = 30
checkpoint_segments에 설정된 크기를 초과할 때 Write후 Flush 즉 비워지지 않고 계속 흘러 넘칠 때 경고 메세지를 에러 로그에 발생하는 옵션입니다.
0 은 off 를 뜻함.( 초단위 설정)
Posted by 김득은
'2. DBMS이야기 > 01. PostgreSQL' 카테고리의 다른 글
[PostgreSQL Admin] 3.Server Configuration : Parameter 종류(Run-time Statistics) (0) | 2014.09.06 |
---|---|
PostgreSQL Privileges Test 4 (0) | 2014.08.29 |
psql 내 명령어 활용 - \? 항목의 기능 설명 (1차) (0) | 2014.08.22 |
PostgreSQL Privileges Test 3 (0) | 2014.08.18 |
PostgreSQL Recovery Flow (0) | 2014.08.15 |