-
PostgreSQL 성능 관련 옵션PostgreSQL 2019. 11. 22. 15:15
autovacuum_max_workers
CPU의 코어수가 많은 경우 사용가능
기본값은 0
동시에 작업을 수행 할 수 있도록 코어 수와 동일한 값으로 설정하면 좋음
해당 매개 변수와 함께 multiple_autovacuum_workers를 설정해야 함
이 값은 코어의 1/2보다 큰 값으로 설정
autovacuum_vacuum_scale_factor
Vacuuming은 삭제 및 삽입으로 생성된 dead tuples를 제거하는 프로세스
지정된 임계 값에 따라 테이블을 자동으로 vacuuming 함
effective_cache_size
캐시할 수 있는 메모리 양이 증가
값이 클수록 데이터베이스에서 index를 더 많이 사용함
권장값은 RAM 값의 50% 이상
maintenance_work_mem
vacuuming, 인덱스 생성, 외래 키 확인을위한 유지 보수에 사용
대형 데이터베이스의 경우 256MB에서 1GB 정도로 값을 설정
max_connection
너무 많은 연결로 인한 성능 저하를 막기 위해 연결 수를 제한하기위함
기본값은 100
값을 너무 높게 설정하면 대기 시간이 길어짐
random_page_cost
기본값은 random_page_cost = 4.0 및 seq_page_cost = 1.0
shared_buffer
많은 동시 쿼리를 사용 하거나 웹 응용 프로그램이나 OLAP와 같은 많은양의 CPU를 사용하는 경우 더 많은 버퍼가 필요
일반적으로 RAM의 1/4 또는 effective_cache_size의 3/4
그러나 1/4는 small machine에서는 너무 낮을 수 있고 big machine에서는 너무 높을 수 있으므로 1/4로 시작해서 다른 값을 시도하여 적절할 값을 찾아야 함
synchronous_commit
기본 구성을 사용하면 success response가 클라이언트에 리턴 된 후 commit이 이루어짐
이 매개 변수를 on으로 설정하면 success message 수신 여부와 상관없이 데이터베이스 서버에서 커밋이 발생합니다.
일반적인 권장 사항은 안전을 위해 off로 설정
(min, max)_wal_size
최소 1GB로 만들고 최대 수 GB를 50 - 100GB
max_wal_size의 이점을 얻으려면 checkpoint_timeout을 늘려야 함
work_mem
정렬 및 조인과 같은 작업에 사용되는 최대 로컬 프로세스 메모리를 결정
최적의 값은 OLTP, OLAP 및 DW에 따라 크게 다를 수 있음
swapping으로 인해 임시 파일을 로깅하면 work_mem 값이 충분하지 않다는 것을 의미함
'PostgreSQL' 카테고리의 다른 글
PostgreSQL Server configuration (1) 2019.11.22 PostgreSQL 동시성 개요 (0) 2019.11.22 PostgreSQL Authorization (0) 2019.11.22 PostgreSQL 백업 및 복구 - Migration (0) 2019.11.22 PostgreSQL 백업 및 복구 - Tool 사용 (0) 2019.11.22