본문 바로가기
DataBase/PostgreSQL

postgresql.conf 간단하게 3

by 백룡화검 2009. 5. 22.

이문서는 제 개인적인 공부로 인해 저의 생각이 많이 포함되 있습니다.

postgresql 8.3을 기준으로 공부


참고 여기서 쓰이는 문서는 다른 웹싸이트에 선배님들이 정리해논 글과

annotated postgresql.conf guide for postgresql이라는 문서를 참조 하였음


autovacuum 는 삭제된 튜플이 차지하고 있는 공간을 청소해주는 파라미터이다.

참조)삭제된 tuple들이 차지하고 있는 공간을 반환합니다. 보통의 PostgreSQL 작업에서 삭제되거나 update에 의해 쓸모 없어진 tuple들은 테이블에서 물리적으로는 삭제되지 않고 VACUUM이 실행될 때까지 남아있습니다. 그러므로 VACUUM은 주기적으로 실행되어야 하며, 자주 업데이트 되는 테이블들의 경우는 더 그렇습니다

 

8.1대에서는 첨으로 주로 update, delete가 일어나는 테이블만 잡아서 vacuum analyze를 corn으로 돌렸었다 6개월 정도 운영을 했을때 문제가 발생했다 테이블만 vacuum 처리가 되고 실제 database는 일어나지 않으니까 디비에서 처리못하고 db frontend connection이 안되었다 그래서 backend로 접근을 하였다 postgres D /srv/postgresql/data 디비명 그후 Vacuum full verbose analyse 로 vacuum 처리를 한후 서비스를 하였다 이때 걸린 시간이 10시간 이상이다.

 

두번째 그래서 vacuum analyze를 디비를 정해서 cron으로 유저가 제일 활동 하지 않을 시간을 선택해 실행을 하였다. 이거에 문제점은 첨에는 빠르고 문제가 없는데 어느정도 시간이 지나면 vacuum시간이 너무 느려진다. 그래서 dump & restore로 몇달에 한번씩 디비를 재정의 하였다

 

8.3에 와서는 작정하고 autovacuum을 실행을 해보았다 실제 사용 예가 찾기가 너무 힘들었다.

초짜에 실력으로 영어로 메뉴얼을 해석해서 실행을 해보았다. 몇달이 지났지만 현재까지 문제점이 발견 되지 않고 있다.

 

default : off

현재 시스템은 on으로 autovacuum을 실행중이다.

 

log_autovacuum_min_duration는 autovacuum이 일어나는 로그에 시간 파라미터이다

0은 일어날때 마다 로그를 기록한다.

현재 시스템은 0이다.

 

autovacuum_max_workers는 autovacuum에 프로세스 수에 관한 파라미터이다. 이부분은 자료를 구하기가 너무 힘들어서 소스까지 봤지만 소스상에서는 이터레이터에 횟수 체크에 쓰이고 있어서 정확한 개념을 잡는데 실패했당

 

현재 시스템에서는 3이당.

 

autovacuum_naptime 는 autovacuum이 체크 하는 시간 파라미터이다. 이부분에 대해서도 많이 고민했다 시간이 길면 평상시에 vacuum을 덜해서 좋긴하지만 나중에 할 양이 많아지고 시간 텀을 적게 하면 빈번히 vacumm이 일어나지만 양은 적고 ㅋㅋ 그래서 난 3분마다 실행 되도록 3분으로 세팅

 

 

autovacuum_vacuum_threshold는 한 테이블에서 vacuum작업이 일어날때 최소 갯수에 관한 파라미터이다.

이부분도 좀 고민 스러웠다 실제 얼마의 양으로 잡아야 서버에 부하없이 매끄럽게 진행 될까 때문에

그래서 이부분은 한 5번정도 실서버를 내리고 올리고 내리고 올리고를 반복해서 적당한 값을 넣어 주었당.

 

현재 시스템에서는 1000이당.

 

autovacuum_analyze_threshold 는 위에 파라미터와 같은 의미이다 하지만 이건 analyze의 관한 파라미터이다.

현재 시스템에서는 500이당.

 

일단 여기 까지 이다

 

현재 내가 맡고 있는 시스템 설정을 나만의 방식으로 풀이를 해보았다

본문은 정확도가 많이 떨어 지므로 혹시 나 참조 하시는 분이 있으면 메뉴얼을 아주 자세히 읽어 보시고 적용하세용

 

postgresql는 역사도 깊고 정말 괜찮은 디비이다 약간의 설정으로도 좋은 효과를 낼수 있다.

시간이 나면 나머지 설정도 공부를 해야겠당


[출처] postgresql.conf 간단하게 3|작성자 열혈지누

'DataBase > PostgreSQL' 카테고리의 다른 글

PostgreSQL pg_ctl --help  (0) 2009.05.22
PostgreSQL 8.0 성능 점검 사항 #  (0) 2009.05.22
8.2.5 VACUUM  (0) 2009.05.22
postgresql dump & restore  (0) 2009.05.22
[PostgreSQL] 간단 사용법  (0) 2009.05.22