메뉴 여닫기
개인 메뉴 토글
로그인하지 않음
만약 지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.

오라클 성능문제 접근방법

DB CAFE

성능문제 접근 방법

비즈니스 관점 과 시스템관점

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

문제점 분류하기

  1. 비즈니스 관점에서 문제 식별
    - 서비스 기대치(예를들어 3초 이내)를 초과하는 경우 어플리케이션 개발자와 논의(대량건인지? 일괄적재인지? 통계건인지?)
  2. 문제 우선순위 정의
    - “5가지 문제를 해야한다면 우선 적으로 어떤 문제 부터 해결할것인가?”를 결정
    - 비즈니스 요건이 우선순위를 결정한다.
  3. 문제 목표 정의
    - 계측치 설정이 중요함. 예를 들어, “조회 버튼 클릭시 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등 리소스 사용량 분석