inflearn logo
강의

Course

Instructor

Oracle Performance Analysis and Instance Tuning Core Guide

Practical AWR Analysis after Large-Scale Full Scan IO Stress

full scan 시 OS I/O 질문있습니다.

241

km9311

8 asked

0

안녕하십니까. 강의 너무 잘 듣고 있습니다.

질문이 생겨서 글을 남겨 봅니다.

질문 1.

index scan 시 buffer cache에 해당 블록이 없으면 디스크에 접근해야하는 random i/o가 발생하니까 sar 명령어로 보면 i/o wait 값이 20% 이상 올라가는건 이해가 됩니다.

궁금점은 용량이 큰 테이블을 full scan 시, direct path read가 발생할 것이고, 이는 디스크에서 바로 서버프로세스로 블록을 로드 하잖습니까. 근데 이떄도 분명히 i/o가 발생할텐데 왜 sar 명령어에서 i/o wait 값이 많이 올라가지 않을까요?? full scan은 multi block 으로 i/o를 읽기 때문에 그런건가요??

질문 2.

그리고 강의에서 말씀해주셨던 것 처럼 full scan시 테이블 용량이 1M(default)가 넘으면 direct path read가 발생한다고 하셨는데, 사실 요즘 시스템의 테이블은 거의다 1M이 넘을 것 같습니다. 그런데도 db file scattered 이벤트는 잘뜨던데 왜 그런걸까요?

감사합니다

oracle dbms/rdbms

Answer 1

0

dooleyz3525

안녕하십니까,

  1. IO Wait는 CPU가 Storage등에 I/O Request 를 요청하고, 처리가 완료되었다는 Response를 받기까지 대기하는 시간입니다. 그런데 Storage가 Random I/O의 처리 용량이 생각보다 낮습니다. 그리고 Sequential I/O(Full scan)의 용량이 생각보다 큽니다. 때문에 Random I/O 시 I/O Wait 가 훨씬 더 많이 발생합니다. 그리고 Sequential I/O 시에도 Storage의 Throughput을 초과하는 대용량의 Full Scan 시에는 I/O Wait가 크게 발생합니다.

     

     

  2. 11g 부터는 full scan 시 direct path read 를 수행할 수 있도록 개선이 되었으며, 강의에서 말씀드린대로 작은 테이블의 full scan 일 경우는 buffer cache에도 올라 갈 수 있지만(db file scattered read 이벤트) 일정 용량이 넘는 테이블은 direct path read로 처리하여 buffer cache에 못 올라가도록 되어 있습니다.

     

     

    그리고 Wait Event 강의에서 말씀드린 대로 이런 방식으로 동작하려면 "_serial_direct_read" 가 True로 설정되어야 하고(Default로 True임), "_small_table_threshold" 값에 따라 small 테이블 크기가 설정되는데, 보통은 buffer cache의 2% 정도입니다. "_small_table_threshold" 값이 크면 해당 사이즈 이하의 테이블들은 db file scattered read 이벤트가 발생합니다.

     

     

     

     

    감사합니다.

     

     

     

     

Toad for Oracle Trial 버전을 지원하지 않는것으로 보입니다.

0

63

1

table full scan과 index_ffs 성능비교

0

126

2

HDD가 아닌 SSD인 경우는 dBMS I/O가 어떻게 동작하나요?

0

125

2

HOST CPU 자료를 받으려면?

0

142

3

Buffer Cache를 통한 데이터 Access 에서 DBA 정보를 어떻게 알아내는지 궁금합니다.

0

155

2

random i/o와 full scan 문제 질문

0

166

3

hugepage_settings.sh 파일 실행시 커널 버전

0

210

2

강의중 윈도우 경고음?이 너무 크게 들릴때가 있습니다.

0

149

3

19ee 설치 관련

0

166

2

클라우드 굳이 안해도 되나요??

0

253

2

19c ee rpm 파일 설치 문의

0

228

1

direct path read/write temp 관련 질문

0

245

1

swingbench 에러좀 확인부탁드려요

0

339

2

회원가입 시 Customer type 구분

0

242

2

수료증 발급문의

0

232

1

swingbench 2.6 다운이 안받아져요

0

275

1

오라클 long data type 지원

0

438

1

sqldeveloper를 앞에서 썼다고 하셧는데...

0

216

1

soe_10g_01.dbf생성중 오류

0

222

1

TOAD 연결 질문드립니다.

0

345

1

oracl21c로 설치해도 되나요?

0

275

1

Hard Parsing의 자원 사용

1

513

2

Sequential Acess는 HDD상에서도 Block을 Sequential하게 읽나요?

1

365

2

인덱스 등 선행 지식 문의

0

216

1