설문조사
PostgreSQL/PPAS 관련 듣고 싶은 교육은


총 게시물 162건, 최근 0 건
   

Postgres 9.6 beta2 Parallelism

글쓴이 : 맥켈런 날짜 : 2016-07-11 (월) 15:28 조회 : 6138
안녕하세요.
postgres 9.6에서 병렬 처리기능이 추가가 되어 테스트 해본 내용을 같이 공유하고자 합니다.
우선 parallel 시, 직접적인 영향을 미치는 파라미터는 아래와 같습니다.
§min_parallel_relation_size (integer)
ü병렬 스캔을 하기 위해 고려해야 할 관계들의 최소 사이즈를 설정
ü기본값은 8MB
§max_parallel_workers_per_gather (integer)  -- beta1에서는 degree 라는 parameter명
üSingle Gather Node에서 시작되는 처리기들의 최대 수를 설정
ü병렬 처리기들은 max_worker_processes에 의해 측정된프로세스 풀에서 가져옵니다.
ü기본 설정은 2 입니다. 0은 Parallel 옵션을 끕니다.
§parallel_setup_cost (floating point)
üparallel worker process가 작업 할 때 사용하는 비용 추정값
ü기본값은 1000
§parallel_tuple_cost (floating point)
üparallel work process가 다른 process로 튜플을 전송 할 시 발생하는 비용의 추정값
ü기본값은 0.1

위 옵션에 따라 parallel degree가 유동적으로 결정됩니다.
* 주의하실점은 Nested Loop, Hash Join 일 경우에만 parallel 작업을 하게 됩니다.

아래는 parallel 설정을 하고, hash_join을 하였을 때 나온 병렬 작업 모니터링입니다.
hash_join_io_check.png


pid 33517에 해당하는 작업을 44920~44924 이 parallel 하게 지원해주는것을 볼 수 있습니다.

해당 테스트는 1천만건의 데이터와 5백만건의 데이터를 join 한 SQL 입니다.
merge_join 일 경우는 5초대, hash_join으로 2초대 결과값을 가지고 오네요.

내년이 기다려집니다. :)


주킹 2016-07-11 (월) 17:01
병렬기능 기대되네요~!!
댓글주소
PostgresDBA 2016-07-11 (월) 17:11
엄지척! ^^
댓글주소
   

postgresdba.com