2. DBMS이야기/01. PostgreSQL

PostgreSQL 파라미터 설정 Part.2 (postgresql.conf)

OSSW(Open Source System SoftWare 2014. 8. 25. 19:43

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의 체크포인트를 찍는 최대 거리를 정함.

세그먼크당 약 16MB(16*1024)의 텀이 생깁니다. (디폴트 3)

 

checkpoint_timeout = 300 

 

WAL Auto Check Point 간격의 시간을 정하는 것으로 , 초 단위 설정을 하시면 됩니다

(디폴트는 300)

 

checkpoint_warning = 30 

 

checkpoint_segments에 설정된 크기를 초과할 때 Write Flush 즉 비워지지 않고 계속 흘러 넘칠 때 경고 메세지를 에러 로그에 발생하는 옵션입니다.

 off 를 뜻함.( 초단위 설정)



Posted by 김득은