Created with Raphaël 2.1.0
    Loading...
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

개요


 인덱스는 데이타를 읽어 정렬하고 저정하는 과정을 가집니다. 

그래서 인덱스를 병렬로 동작시키는건 과도한 디스크 IO나 버퍼미스 를 발생시켜 오히려 성능이 떨어집니다.

아래와 같이 프로퍼티를 설정해서 IO 와 버퍼 미스를  줄이고 정렬과정을 최적화 해서 대용량 디스크 인덱스 빌드 시간을 단축시킬수 있습니다. 

해결책


버전 6.5.1~7.1.0 


1.BUFFER_AREA_SIZE(단위 bytes) = (클수록 좋습니다.)
2.SORT_AREA_SIZE(단위 bytes) = (장비 물리코어 수 * 20MB)
3.DISK_INDEX_BUILD_MERGE_PAGE_COUNT(단위 page수) = (BUFFER_AREA_SIZE의 1% 추천하지만 아래 4번(INDEX_BUILD_THREAD_COUNT)을 고려해야 합니다.)
4.INDEX_BUILD_THREAD_COUNT(core수) = (장비 물리코어 수)

고려사항



1.BUFFER_AREA_SIZE

  • 값이 클수록 STARTUP 시간이 더 걸립니다.

 
2.SORT_AREA_SIZE

  •   인덱스 1개 빌드시 최소 SORT_AREA_SIZE 크기이상의 메모리를 사용합니다. 만약, 병렬로 2개를 빌드하면 SORT_AREA_SIZE * 2배의 메모리량이 사용됩니다.
      SORT_AREA_SIZE는 디스크 템프테이블에서도 공유하는 프로퍼티로, 변경 시 디스크 템프테이블의 동작에 영향이 있습니다.

 
3.DISK_INDEX_BUILD_MERGE_PAGE_COUNT

  • 프로퍼티의 단위는 페이지 수이고, BUFFER_AREA_SIZE 프로퍼티 단위는 bytes 입니다.
  • 프로퍼티의 값이 크고 인덱스 크기가 작을경우, 오히려 성능이 떨어지는 현상이 있을수 있습니다.
    -  아래의 조건을 만족하는 경우 인덱스 빌드 성능이 떨어질수 있습니다.
       DISK_INDEX_BUILD_MERGE_PAGE_COUNT  >  ( 인덱스키길이 * RECORD수 ) / SORT_AREA_SIZE 

 

버전 7.3.0 ~


1.BUFFER_AREA_SIZE(단위 bytes) = (클수록 좋습니다.)
2.DISK_INDEX_BUILD_SORT_AREA_SIZE(단위 bytes) = (장비물리코어수 * 20MB)
3.DISK_INDEX_BUILD_MERGE_PAGE_COUNT(단위 page수) = (BUFFER_AREA_SIZE의 1%)
4.INDEX_BUILD_THREAD_COUNT(core수) = (장비 물리코어수)

고려사항



1.BUFFER_AREA_SIZE

  •   값이 클수록 STARTUP 시간이 더 걸립니다.


2.DISK_INDEX_BUILD_SORT_AREA_SIZE

  •   인덱스 1개 빌드시 최소 DISK_INDEX_BUILD_SORT_AREA_SIZE 크기이상의 메모리를 사용합니다. 만약, 병렬로 2개를 빌드하면 DISK_INDEX_BUILD_SORT_AREA_SIZE * 2배의 메모리량이 사용됩니다.
     (SORT_AREA_SIZE를 사용하지 않습니다)

 
3.DISK_INDEX_BUILD_MERGE_PAGE_COUNT

  • 프로퍼티의 단위는 페이지 수이고, BUFFER_AREA_SIZE 프로퍼티 단위는 bytes 입니다.
  • 아래 문제는 7.3.0 이상 에서는 발생하지 않습니다. 
    • 프로퍼티의 값이 크고 인덱스 크기가 작을경우, 오히려 성능이 떨어지는 현상이 있을수 있습니다.
      -  아래의 조건을 만족하는 경우 인덱스 빌드 성능이 떨어질수 있습니다.
         DISK_INDEX_BUILD_MERGE_PAGE_COUNT  >  ( 인덱스키길이 * RECORD수 ) / SORT_AREA_SIZE 

  • No labels