AU SIZE 를 작게 하면 쿼리 속도가 느릴 수 있습니다.

 

ASM 환경으로 구성된 테라 급 데이터베이스 의 SQL문 속도가 특히 IO 속도가 느려 확인 해 보니 AU SIZE 를 최소화 하여 구성하였습니다.

 

AU SIZE를 키우면 I/O 속도가 빨라지는 것을 다음의 테스트를 통해 확인 할 수 있습니다.

 

——————————————————————————————————————————————————————-

 

Oracle은 ASM 디스크 그룹에 대해 4MB ASM 할당 단위 (AU) 크기를 권장합니다.
이 글에서는 ASM 디스크 그룹 AU 크기가 다른 테스트 사례를 살펴 보겠습니다.
테스트 요구 사항에 맞는 테이블 스페이스를 만들어 보겠습니다.

1MB AU 크기 사용

이 섹션에서는 1MB ASM 할당 단위 크기를 가진 ASM 디스크 그룹에 저장된 테이블을 전체 스캔하는 테스트를 수행하고

4MB AU 크기를 가진 ASM 디스크 그룹에있는 테이블 스페이스에 저장된 동일한 테이블과 비교합니다 .

 

제어 사례는 다음과 같은 특성을 갖는 SYSTEM.MYOBJ로 수행됩니다.

  • 테이블 : SYSTEM.MYOBJ
  • 크기 (GB) : 14.8
  • 블록 수 : 1,940,352
  • 테이블 공간 이름 : USERS
  • ASM 디스크 그룹 : DATA_CM01
  • ASM AU 크기 : 4MB

AU1MDATA_CM01 ASM 디스크 그룹에 테이블 스페이스를 생성 해 봅시다.

이제 MYOBJ의 복사본을 만들 것입니다.

우리의 시험을 보자 :

위의 테스트에서 알 수 있듯이 :

  • 쿼리 실행 시간은 1MB AU 크기에서 4.32 초에서 7.58 초로 변경되었습니다.
  • 대체로 클러스터 상호 연결로부터 수신 된 바이트 수는 예상되는 바이트 수와 대략 동일합니다.
  • 셀 스캔 효율은 동일하게 유지되었으므로 스마트 스캔은 확실히 시간을 절약 해주었습니다.
  • 1MB AU 크기는이 테스트에서 물리적 IO가 더 많이 필요하고 4MB AU 크기보다 느립니다.

8MB AU 크기 사용

이 섹션에서는 8MB ASM 할당 단위 크기를 가진 ASM 디스크 그룹에 저장된 테이블을 전체 스캔하는 테스트를 수행하고

4MB AU 크기를 가진 ASM 디스크 그룹에있는 테이블 스페이스에 저장된 동일한 테이블과 비교합니다 .

제어 사례는 다음과 같은 특성을 갖는 SYSTEM.MYOBJ로 수행됩니다.

  • 테이블 : SYSTEM.MYOBJ
  • 크기 (GB) : 14.8
  • 블록 수 : 1,940,352
  • 테이블 공간 이름 : USERS
  • ASM 디스크 그룹 : DATA_CM01
  • ASM AU 크기 : 4MB

AU8MDATA_CM01 ASM 디스크 그룹에 테이블 스페이스 를 생성 해 봅시다.

이제 테스트 테이블을 생성 해 보겠습니다.

마지막으로 테스트를 실행합니다.

 

위의 테스트에서 알 수 있듯이 :

  • 쿼리 실행 시간은 4.32 초에서 7.92 초로 8MB AU 크기로 진행되었습니다.
  • 대략 같은 수의 바이트가 리턴되었습니다.
  • 더 큰 AU 크기 (8MB)를 사용하면 검사 시간이 향상되지 않았습니다.
  •  사실, 1MB AU 크기를 사용할 때와 같은 크기로 줄였습니다. 이렇게하면 4MB의 AU 크기가 실제로 Exadata에서 이상적이라고 결론 내릴 수 있습니다.

 

이 테스트와 이전의 1MB ASM 할당 단위 크기가 동일한 결과를 보였으므로,

8MB AU 크기가 더 나은 응답을 얻는 것처럼 보이므로  다중 실행 (5 번) 으로 몇 가지 추가 테스트를 수행합니다.

테스트가 실제로 하나의 샘플만으로 이루어진 것인지 확인하십시오.

 

 

테스트 결과에 따라 4MB AU 크기를 사용하는 것이 더 효율적 (즉, 더 빠르게 실행 됨)이라는 것을 알 수 있지만 그 이유를 정확히 알아내려고 합니다.

V$SESSION_EVENT 를 사용하면 “셀 스마트 테이블 스캔” 대기 이벤트가 대기 시간의 대부분을 담당하는 이벤트라는 것을 알 수 있으므로 테스트 결과를 비교해 보겠습니다.

 

위에서 볼 수 있듯이 “셀 스마트 테이블 스캔”대기 횟수와 총 시간은 두 번째 두 테스트에서 1MB AU 및 8MB AU 크기로 더 큽니다.

이들은 인터커넥트를 통해 대략 같은 바이트 수를 검색했으며 세그먼트 당 바이트 수와 블록 수는 거의 동일했습니다.

위의 표에서 몇 가지 계산을 수행하면 대기 수는 1MB 및 8MB ASM AU 크기에서 증가했지만 총 시간은 대기 수에 따라 선형 적으로 증가하지 않으므로 정렬 경계 문제가 의심 될 수 있습니다 더 많은 기다림의 원인입니다.

이를 바탕으로 ASM 디스크 그룹이 4MB AU 크기를 사용하지 않을 때 셀 IO 요청을 충족시키기 위해 더 많은 작업이 필요하다는 결론을 내릴 수 있습니다.

따라서 ASM 디스크 그룹 속성을 설정하면 더 나은 전체 결과를 얻을 수 있습니다.이 경우 약 50 %의 시간 절감 효과가 있습니다.

물리 디스크의 전체 배치는 어떻습니까?

위의 테스트에서 아마 눈치 챘 겠지만 성능면에서 4MB AU 크기가 최적이었습니다.

4MB AU ASM 디스크 그룹이 물리적 디스크의 가장 바깥 쪽 트랙에있는 Grid 디스크 세트에서 생성 되었기 때문에 이것이 4MB AU 크기 때문 이었습니까?

이 섹션에서는 ASM 디스크 그룹을 다시 한 번에 하나씩 다시 작성하고 테스트 해 보겠습니다.

깨끗한 기준선을 얻으려면 먼저 DBM 데이터베이스를 지우십시오. 그런 다음 ASM 디스크 그룹 DATA_CM01 및 RECO_CM01을 삭제합니다.

이 작업이 완료되면 그리드 디스크가 삭제됩니다.

완료되면 DATA_CM01 및 RECO_CM01에 대해 그리드 디스크 425Gb 및 나머지를 만듭니다.

다음으로, 1MB 할당 단위를 가진 “DATA”그리드 디스크에 ASM 디스크 그룹을 만들고 RECO_CM01이라는 4MB AU를 가진 ASM 디스크 그룹을 만듭니다.

완료되면 DBM RAC 데이터베이스를 다시 작성합니다.

환경 세부 정보 :

이제 우리는 post-rebuild 설정을 할 것이다 :

이 시점에서 테스트 테이블 MYOBJ를 만들 수 있습니다.

이제 우리는 MYOBJ에서 사용하는 공간을 확인합니다.

마지막으로 풀 스캔 테스트를 실행 해 보겠습니다.

위의 테스트를 8MB AU 및 4MB AU 크기의 ASM 디스크 그룹으로 반복합니다.

ASM 디스크 그룹 생성을 제외하고는 위의 내용을 그대로 반영하므로 테스트 케이스 필드의 세부 사항 대부분을 생략 할 것 입니다.

8MB AU 테스트는 아래와 같습니다.

 

마지막으로 4MB 스토리지 테스트 :

By haisins

오라클 DBA 박용석 입니다. haisins@gmail.com 으로 문의 주세요.

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다