iTuner 특징
- 독창적 방법론 제공으로 기존 튜닝 방법론 문제점 해결
- New 튜닝(트러블 슈팅) 프로세스
- 순환 반복 튜닝 프로세스 -> 선형 튜닝 프로세스
- Sniffing 방식의 수집으로 운영서버 부하 및 영향 없이 모든 Query 수집
- 모든 Query의 Normalize 처리
- 시뮬레이션 분석 기능으로 운영 서버 발생 상황 재현
- 다양한 분석 시각 제공
- All , User , IP(Host) , Database , Table , Query 등
- 각 분석간의 유기적인 연계 분석 제공으로 분석 효율성 극대화
- 다양하고 유용한 튜닝 및 관리용 레포트 제공
- 강력한 WhatIF 제공 (Query WhatIF, Table WhatIF)
iTuner 튜닝 방법론
기존 튜닝 방법론
- 인덱스 , 쿼리 , Lock 등을 xxx게 해야 한다.
- 기존 튜닝 프로세스
- 직접 프로필러 등으로 느린 쿼리 수집
- 왜 느린지 그래픽컬 플랜으로 확인
- 판단(쿼리 수정,인덱스 수정)
- 개별 쿼리 테스트
- 적용
- 전체적으로 성능 향상이 왔는지 파악
- 처음부터 다시 반복
- 문제점 - 수집과 분석에 있어 인간이기 때문에 지엽적인 튜닝이 될 수
밖에 없음
- 프로필러는 운영서버에 주는 부하로 인해 일반적으로 필터를 걸어 어느 경계이상의 쿼리만을 수집
- 튜닝은 느린 쿼리만이 대상이 아니라 성능이 좋은 쿼리 포함하여 모든 쿼리의 데이터 접근 전략이 모두 고려되어야
함
- 느린 쿼리로 인해 인덱스를 수정한다면 그것은 원래 성능이 좋았던 쿼리에 부정적인 영향을 줄 수도 있음
- 부분 수정이 전체에 어떤 영향을 주는 지에 대한 판단이 힘듦
- 성능향상도 수치화 된 것이 아닌 감각적인 판단일 뿐임
- 데이터에 기반 된 분석이 아닌 현업 담당자에 대한 의존이 큼 - 어떤 쿼리가 자주 쓰이는지 등...
- 제대로 된 판단을 내리기 위한 데이터가 너무 부족함
iTuner 튜닝 방법론
- 사람과 컴퓨터의 역할 분담
- 사람은 판단만 하게 됨
- 컴퓨터(튜닝 솔루션) - 객관적인 튜닝 가능
- 성능지표에 대한 이력 관리
- 성능지표 축출을 위한 밤샘 작업 없앰
- 사람이 제대로 판단할 수 있도록 분석된 Back Data 제공
- 부분 수정으로 인한 전체에 대한 영향평가
- Etc...
- 튜닝 프로세스
Table WhatIF
실제 Table의 변경 없이 Table의 Index가 생성, 수정, 삭제 등의 변경 시 그
Table을 호출하는 전체 Query의 비용 변화 및 Data Access Path 변화에 대한 Before/After
영향 평가 분석 기능을 제공 한다.
Query WhatIF
운영 서버의 변경이나 영향 없이 Query 및 SP 변경 시 해당 Query의 수행 비용(Disk
, CPU , Sort , Join등) 및 Data Access 변화에 대한 Before/After 영향 평가 분석
기능을 제공 한다.