ADW OCPU와 쿼리 성능
ADW 인스턴스 COPU가 쿼리 실행 속도에 미치는 영향을 테스트해보겠습니다. OCPU 1개가 할당된 ADW 인스턴스와 OCPU 4개가 할당된 ADW 인스턴스에서 동일한 쿼리를 실행하고 실행 시간을 비교해 보겠습니다.
이번 문서는 오라클 클라우드 Free Tier 계정에 ADW 인스턴스를 만들었다는 전제로 진행합니다. 현재 ADW 인스턴스가 없다면, 다음 문서를 참조하여 ADW 인스턴스(DemoADW)를 만드시기 바랍니다.
OCPU가 쿼리에 미치는 영향에 대한 실험은 다음과 같은 순서로 진행하겠습니다.
ADW 인스턴스 준비
SQL을 수행하는 도구로 Oracle SQL Developer를 사용할 것입니다. Oracle SQL Developer 설치와 설정이 필요하시다면 다음 문서를 참조하여 준비하시기 바랍니다.
커넥션 설정에 HIGH 데이터베이스 서버스로를 이용합니다.
ADW 인스턴스의 OCPU 갯수는 ADW Scale up/down 기능을 활용하여 준비합니다. OCPU를 변경하는 과정은 다음 문서를 참조하여 준비합니다.
다음과 같은 절차로 테스트를 진행합니다.
- ADW 인스턴스 프로비저닝: 1 OCPU, 1TB, Database 명: DemoADW
- SQL Developer 커네션 설정: demoadw_hig 서비스 이용
- 테스트 쿼리 실행 (SQL Deveoper)
- ADW 인스턴스 Scale up: 4 OCPU, 1TB
- 테스트 쿼리 실행 (SQL Deveoper)
테스트 쿼리
다음 쿼리를 테스트 쿼리로 이용합니다.
select /*+ no_result_cache */
c_nation, s_nation, d_year, sum(lo_revenue) as revenue
from ssb.customer, ssb.lineorder, ssb.supplier, ssb.dwdate
where lo_custkey = c_custkey
and lo_suppkey = s_suppkey
and lo_orderdate = d_datekey
and c_region = 'ASIA' and s_region = 'ASIA'
and d_year >= 1992 and d_year <= 1997
group by c_nation, s_nation, d_year
order by d_year asc, revenue desc
위 SQL은 캐쉬를 사용하지 않는 SQL Hint를 포함합니다.
SQL 실행 테스트
1 OCPU ADW 인스턴스와 4 OCPU ADW 인스턴스에서 위 테스트 쿼리를 수행합니다.
테스트 결과
앞에서 소개한 테스트 외에 몇번의 테스트를 추가했습니다. OCPU 1개에서 8개까지 OCPU를 늘려가면 수행한 테스트 결과는 다음과 같습니다.
OCUP 수 | 사용하는 서비스 | 쿼리 실행 시간 |
---|---|---|
1 OCPU | demoadw-high | 125.419초 |
2 OCPU | demoadw-high | 64.321초 |
3 OCPU | demoadw-high | 42.958초 |
4 OCPU | demoadw-high | 32.688초 |
6 OCPU | demoadw-high | 22.943초 |
8 OCPU | demoadw-high | 17.866초 |
위 테스트 결과를 통해서 ADW의 OCPU 증설(Sacle-up)에 따라서 쿼리 수행 시간은 줄어드는 경향을 확인할 수 있습니다.