기술용어/데이터베이스

데이터베이스 성능 튜닝

아이티신비 2024. 6. 11. 09:00

최적의 자원으로 최적의 성능을 위한, DB성능 튜닝

정의
  • 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 구축 : 튜닝 수행 시 발생된 문제, 문제분석 결과, 해결 내용에 대한 지식 공유와 관리를 통한 정보공유


 

공감과 댓글은 아이티신비에게 큰 힘이 됩니다.

블로그 글이 유용하다면 블로그를 구독해주세요.♥