본문 바로가기

IT관련

Oracle Exadata 에서 Smart Scan 끄고 켰을때 성능 비교 테스트

회사에 오래된 Exadata 장비(X2-2)가 있어서 한번 성능 테스트를 해봤습니다.

 

2천만건, 80GB 정도의 꽤 큰 테스트 테이블을 만들고, Smart Scan 기능을 On/Off 시켰을때 얼마나 차이가 나는지 확인해봤습니다.

 

Smart Scan 을 On/Off 하는 방법은 아래와 같이 하면 됩니다.

alter session 커맨드이기 때문에 전체를 다 꺼버리는게 아니고, 내 세션만 껐다 켤수 있습니다.

 


SQL> alter session set cell_offload_processing=true;       -- on
SQL> alter session set cell_offload_processing=false;      -- off

 

공정한 실험을 위해 SQL 실행전 buffer cache 를 Flush 했습니다. 

 

 

매우 큰 테이블 TEST1 에 대해 count 하는 단순한 SQL 입니다.

Smart Scan 이 켜져 있는 상태에서 2초 정도 걸렸네요.

 

 

이번에는 smart scan 기능을 끄고 같은 SQL문을 실행합니다.

 

 

60초 정도 걸렸네요.

흠~~  Smart Scan 을 켜는 것만으로 30배 정도 빨라지는 군요^^ 

 

Smart Scan 이 DB서버로 읽어와야 하는 데이터를 셀스토리지에서 전처리(필터링)해서 확 줄여주는 것이니까

where 조건에 따라 성능도 차이가 날 겁니다.

어쨌든 Smart Scan 기능만으로 같은 SQL문이 30배 정도 차이가 날 수 있다는 것은 정말 언빌리버블 하군요~