우리 회사 데이터베이스를 티베로로 변경하기
티베로 재현결과 분석 0 0 99,999+

by 티베로 티베로전환 [2018.09.30]


티베로 전환 프로젝트 성공을 위해 소속 회사가 설정한 목표이자 조건은 다음과 같음을 앞에서 소개했다.

1. 수행 실패(Sql Execution Fail)가 없어야 한다(실패율 0%).

2. 기준 시간(0.2초) 이상 소요되는 SQL의 비율이 외산 DBMS와 유사한 2.3% 수준이어야 한다.

이제 리플레이를 통해 티베로에 재현하고 3rd Party 솔루션을 활용해 분석한 실제 데이터를 살펴보고 과연 위의 목표에 얼마만큼 접근할 수 있었는지 확인해보자 (SQL 실패에 관한 상세 내용은 4.1장 SQL Fail 이슈에 자세히 소개하므로 본 장에서는 성능에 관한 데이터만 다룰 예정이다).

  • [표 3-10] -1 리플레이 재현결과 분석(구간별 쿼리 수행횟수 분석 BY 샤크라)
  • 리플레이 재현결과 분석(구간별 쿼리 수행횟수 분석 BY 샤크라)

  • [표 3-11] 0.2초 이상 SQL 수행 비율
  • 0.2초 이상 SQL 수행 비율

  • [표 3-12] 0.2초 이상 구간별 SQL 수행 비율
  • 0.2초 이상 구간별 SQL 수행 비율

그림과 표에서 보는 것처럼 리플레이를 수행하며 AP 수정없이 패치만으로 17.7% -> 5.4%를 달성하였으며 추가적인 SQL 최적화 과정을 거쳐 최종 5.4% -> 3.5% 로 목표에 접근했음을 확인할 수 있다.

물론 외산 DBMS의 2.3% 수치에는 1.2% 정도 모자라지만 5초 이상 수행되는 악성일 가능성이 높은 SQL의 수행횟수는 오히려 티베로가 적기 때문에 오픈 이후 성능 이슈 없이 원활하게 운영되고 있다고 생각한다. 한편 0.2초 ~ 5초 구간은 여전히 티베로의 성능이 많이 부족하다. 현재 시점에서는 해당 구간 성능저하로 인해 발견되는 업무상의 문제는 없지만 외산 DBMS에 비해 비효율이 발생하는 부분을 찾아 최적화 작업을 진행할 예정이다.

결론적으로 위의 결과(데이터)는 다음의 세 가지 사항을 증명한다.

1. 티베로는 패치를 수행하기 전 외산 DBMS 보다 낮은 성능을 발휘하였다. 이는 외산 DBMS에 비해 업무(SQL) 경험이 적어 다양한 패턴의(일부는 비효율 적으로 구성된) SQL들에 대해 최적의 PLAN을 생성하는 옵티마이저 기술이 다소 부족했던 것으로 판단된다

2. 티베로는 짧은 시간동안 패치만으로 상당한 성능 향상을 이루었으며 이는 티베로 내부 엔진에 대한 높은 기술력을 증명한다. 따라서 프로젝트 과정중 리플레이 등을 통해 문제되는 SQL의 분석 및 제공이 적절히 이루어진다면 어떤 업무에도 적합한 수준의 상당한 성능 향상이 가능하다는 것을 의미한다

3. SQL 최적화 과정을 단기간에 효과적으로 진행했다는 것은 적어도 성능이 나오지 않는 SQL들의 우회 방안(힌트, SQL의 재구성 등)이 존재하고 그 우회 방안을 제공할 기술력을 보유하고 있다는 것을 의미한다.

  • - 해당 강좌는 도서 " [우리 회사 데이터베이스를 티베로로 변경하기]"의 내용을 옮겼습니다.
  • - 해당 도서는 기간계 DBMS(DATABASE MANAGEMENT SYSTEM)를 티베로로 전환하는 실제 프로젝트를 수행한 실무자가 DBMS 전환 과정과 실제 적용 사례, 문제 해결 과정 등을 자세하게 설명하고 있습니다.

- 강좌 URL : http://www.gurubee.net/lecture/4122

- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^

- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입