정의
|
- DBMS, 데이터베이스 응용, OS자체 분석 등을 통하여 최소의 자원으로 최적의 성능(시간/응답속도)을 얻을 수 있도록 개선 하는 작업
|
목적
|
- DBMS, 데이터베이스 응용, OS자체 분석 등을 통하여 최소의 자원으로 최적의 성능(시간/응답속도)을 얻을 수 있도록 개선 하는 작업.
- DBMS, 어플리케이션, OS, N/W 등의 성능관련 대상을 분석, 조정을 통하여 DB성능을 향상시키는 일련의 과정과 기법
|
주요지표
|
- 수행시간측면: I/O Time + CPU Time
- 시스템 자원 사용 측면: CPU, Memory 등의 사용량 관점의 관리
- 처리량 측면: TPS 관점의 관리
|
주요요소
|
- HW 관련 : CPU, Memory, N/W, Disk … System config resources 부족
- SW 관련 : DBMS : DB Design, Optimizing 전략, SQL 효율
Application Architecture : 2-tier, 3-tier, EJB, OLTP, Batch 등
- 업무프로세스 : 업무 처리방식의 문제, Load Balancing 정책 등
|
튜닝의 3요소
|
- 데이터베이스 설계튜닝 : 데이터베이스 설계단계에서 성능을 고려하여 설계
- 데이터베이스 환경 : 성능을 고려하여 메모리나 블록크기 등을 지정
- SQL 문장 튜닝 : 성능을 고려하여 SQL 문장을 작성
|
성능 개선(튜닝) 목표
|
- 처리능력(Througnput) : 해당 작업을 수행하기 위해 소요되는 시간으로 수행되는 작업량을 나눔
- 처리시간(Throughput Time) : 작업이 완료되는데 소요되는 시간
- 응답시간(Response Time) : 사용자가 키를 누른 때부터 시스템이 응답할 때까지의 시간
- 로드시간(Load Time) : 정기적이거나 비정기적으로 발생되는 데이터베이스에 데이터를 로드하는 작업 수행시간
|
성능저하 예방방안
|
- 상시 모니터링 및 관리 : 데이터베이스에 치명적인 문제가 발생 하기 전에 주기적으로 모니터링 되고 관리 되어야 함, 향후 튜닝에 필요한 정상적인 상황일 때의 데이터베이스 로그 정보 보관 필요
- 개발자에 대한 데이터베이스 원리 교육 : 개발자에 대해서 SQL 튜닝 기법 및 SQL 수행 원리 교육 필요, 프로그램 알고리즘 교육 필요, Source Review 제도 도입
- 지속적인 성능검사를 통한 튜닝 실시 : 환경변화와 데이터베이스의 변화성을 감안하여 정기/비정기적으로 지속적으로 수행하여야 함
- 튜닝 결과에 대한 Historical Information 구축 : 튜닝 수행 시 발생된 문제, 문제분석 결과, 해결 내용에 대한 지식 공유와 관리를 통한 정보공유
|