행위

오라클 성능문제 접근방법

DB CAFE

thumb_up 추천메뉴 바로가기


1 성능문제 접근 방법[편집]

1.1 비즈니스 관점 과 시스템관점[편집]

  1. 결과는 비즈니스 관점(사용자 관점)
  2. 원인은 시스템 관점(DB전문가 관점)
  • 비즈니스 관점이라면 존재하지 않는 문제로 인한 노력을 하지 않토록 한다.

1.2 문제점 분류하기[편집]

  1. 비즈니스 관점에서 문제 식별
    - 서비스 기대치(예를들어 3초 이내)를 초과하는 경우 어플리케이션 개발자와 논의(대량건인지? 일괄적재인지? 통계건인지?)
  2. 문제 우선순위 정의
    - “5가지 문제를 해야한다면 우선 적으로 어떤 문제 부터 해결할것인가?”를 결정
    - 비즈니스 요건이 우선순위를 결정한다.
  3. 문제 목표 정의
    - 계측치 설정이 중요함. 예를 들어, “조회 버튼 클릭시 3초이내에 조회가 왼료되어야 한다.”
    - 계측할수 있는 목표가 없다면 어디까지 성능을 개선해야하는지 알수 없음.

1.3 문제 해결[편집]

  1. 동시에 문제를 해결하기 보다는 한번에 하나의 문제를 해결하라
  2. 문제 해결 순서 (3가지 질문에 답할수 있어야 한다.)
    1. 시간을 소모하는 곳이 어디인가?
      - 예를 들어, 어떤 어플리케이션에서 10초가 걸린다면 어떤 모듈,어떤 컴포넌트인가? 를 찾는것
    2. 시간이 어떻게 소모되는가?
      - 예를 들어, CPU 4.2초,Disk I/O 0.4초, 나머지 5초 소요시
    3. 어떻게 하면 소모되는 시간을 줄일수 있을까?
      - 시간을 가장 많이 소모하는곳에 집중할것
  • 분할정복 (Divide and Conquer) 방식이 가장 효율적인 방법
    주요 구성요소별로 분류한뒤 가치가 있다고 판단되는 경우에만 상세 정보를 수집하여 성능문제 식별에 필요한 최소한의 데이터만 수집한다.
  • 성능 데이터 수집 방법
  1. 계측
    • sql trace
  2. 프로파일링 분석
    - 실행중인 어플리케이션에서 수행한 오퍼레이션별 수행 시간
    - CPU,Memory등 리소스 사용량 분석