반응형

성능 관련 기초 이론
※ 모델링 - 시스템에 영향을 미칠 수 있는 요소들을 추출하여 이들의 연관관계를 도식화하는 것
- Queuing Network Model(QNM)
  : 1976년 Jeffrey P. Buzen이 제안, 1978년 Peter J.Denning&Jeffrey P. Buzen에 의해 확장
  : 컴퓨터 시스템의 대기 행렬을 의미하는 큐들의 네트워크
  : 다중 서버에 대한 모델링이 가능
  : 'Operational Law'에 의해 분석

- 단일 서버 QNM
  : 서버가 하나인 경우 사용(2Tier)
  : 사용자가 서버에 Request하는 경우, Queue를 거쳐 서비스 요청
  : Parameters - 부하 강도(사용자의 호출 빈도), 서비스 요구량(사용자 요청을 처리하는 데 소요되는 시간)
  : Operation Law
    → 이용률(Utilization): 전체 측정 시간 대비 서비스 시간의 비율
    → 응답시간(Response Time): 사용자가 서버에서 머물렀던 평균 시간(서비스 시간+대기 시간)
    → 큐 길이(Queue Length): 서버에 머무르고 있는 총 사용자 수(서비스 + 대기)
    → 처리량(Throughtput): 서버가 서비스 처리 종료 후 서버를 출발하는 비율
  : Operation Law의 의미
    → 이용률(Utilization): 대상 서버에 대한 가용 자원 대비에 현재 이용되고 있는 정도
                            0≤이용률≤1, 1이 되면 서버에 병목현상 발생, 부하강도가 증가하면 이용률도 증가
    → 응답시간(Response Time): 사용자가 서비스를 요청하고 받을 때까지 걸리는 시간
                                이용률(부하강도)의 증가에 따라 기하급수적으로 증가
    → 큐 길이(Queue Length): 큐를 점유하고 있는 사용자 수
                              이용률(부하강도)의 증가에 따라 기하급수적으로 증가
    → 처리량(Throughtput): 대상 서버에서 요청 건수의 대비 처리량
                            이용률의 증가에 따라 같이 증가, 이용률이 1이 되면 일정 수준 유지

- 다중 서버 QNM
  : 서버가 여러 개일 경우 사용(3Tier over)
  : 사용자가 서버에 Request하는 경우, Web Server → WAS → DB 서버 등을 거쳐 서비스 요청 및 처리
  : Parameters - 부하 강도(사용자의 호출 빈도), 실행 시간(각 개별 서버 별 요청 처리에 소요되는 시간)
                 ※ 부하 강도는 시스템의 종류에 따라 각각 다르게 정의될 수 있음
                    (ex. TP-Monitor: 요청건수, Batch: 동시 사용자, 웹 기반, C/S 시스템: 동시 사용자 수&평균 Think time 등)
  : Operation Law는 단일 서버 QNM과 유사

- Operation Law
  : QNM에서 서버의 여러 특성들을 파라미터화하여 주요 평가 항목들을 추출할 때 사용하는 주요 공식의 기반
  : 파라미터화 된 기본 항목들은 측정 도구에 의해 측정 가능

  ※ 기본 항목
    → T: 대상 시스템을 모니터링한 총 소요 시간(초)
       A: T시간 동안 시스템에 요청된 총 요청 건수(건)
       C: T시간 동안 시스템에서 처리된 총 처리 건수(건)
       B: 시스템이 요청을 처리하기 위해 사용된 총 서비스 시간(Bysu Time, 초)
       W: 시스템이 요청을 처리하기 위해 사용된 총 응답 시간(서비스 시간 + 대기 시간)
       Z: 사용자가 다음 요청을 준비하기 위해 소요된 Think time(초)
       N: T시간 동안 시스템을 사용하고 있는 사용자 수(명)

  ※ 도출되는 성능 수치 항목
    → 호출비율(Arrival Rate): 단위 시간당 시스템으로 들어오고 있는 건수(λ=A/T)
    → 처리량(Throughtput): 단위 시간당 시스템에서 처리 되고 있는 건수(X=C/T)
    → 이용률(Utilization): 총 소요 시간 대비의 총 서비스 시간 비율(U=B/T)
    → 평균 서비스 시간(Service Time): 요청을 처리하기 위해 소요된 평균 서비스 시간(S=B/C)
    → 응답 시간(Response Time): 요청을 처리하기 위해 소요된 평균 응답 시간(R=W/C)


- Utilization Law
  : U=B/T=(B/C)*(C/T)=S*X
  : 총 소요 시간 대비의 총 서비스 시간 비율 = 단위 시간당 시스템의 처리 건수 * 처리 건당 소요되는 평균 서비스 시간

- Little's Law
  : 서버상의 큐 길이를 설정할 때 참조할 수 있는 공식
  : Q(큐의 길이) = W/T = (W/C)*(C/T) = R*X

- Response Time's Law
  : X(처리량) = 총 호출 건수/총 소요 시간 = N*(T*(R+Z))/T = N*(R+Z)

- Forced-Flow Law
  : 개별 리소스와 전체 시스템 사이의 상관 관계를 보여주는 공식
  : C - 전체 시스템에 대한 처리 건수
    Ck- 개별 리소스에 대한 처리 건수(k번째 리소스)
    Vk- 개별 리소스에 대한 Visit Ratio(k번째 리소스)
    Dk- 개별 리소스에 대한 서비스 요구량(k번째 리소스)

    Vk = Ck/C(k번째 리소스)
    Xk = Vk*X (k번째 리소스에 대한 처리량)
    Uk = Xk*Sk (k번째 리소스에 대한 사용율)
       = X*Vk*Sk
       = X*Dk

- 처리량 상관관계
  : Forced-Flow Law에 의해 도출된 각 리소스에 대한 처리량을 통해 전체 시스템의 처리량을 정의할 수 있음
  : 전체 시스템을 구성하는 n개의 독립 서버의 각 처리량을 Tn이라할 때, 다음과 같이 처리량을 도출할 수 있음
  ※ 전체 Throughput(단, 각각의 서버가 동일한 리소스에 의해 병목을 직면하고 있는 경우)
    T = 1/(1/T1+1/T2+1/T3+1/T4+1/T5+....+1/Tn) = 1/(∑(1/Tn))
  ※ Throughput of Block A&B = 1/(1/a+1/b)

- 병목 지점 분석
  : 임계 지점 부근의 처리량(X)과 응답 시간(R)의 상관 관계
    → X(N)≤min{1/Dmax, N/(D+Z)}
       R(N)≥max{D, NDmax-Z}
       where Dmax: 병목 지점의 서비스 시간
             D=∑Dn
       전제조건: 어떠한 리소스라도 이용률은 1이하이다.
                 N명의 사용자를 처리하고 있는 시스템의 응답 시간은 1명의 사용자를 처리하는 시스템보다 더 빠를 수 없다

  : 처리량의 경우 입계 사용자 수 근방까지 시스템의 용청을 원할하게 처리, 포화 지점 이후 병목 발생 수평을 유지
  : 임계 사용자 수 지점의 처리량은 해당 시스템의 최대 처리량 or 임계 처리량
  : 응답 시간은 임계점 이전은 일정하게 유지, 포화 지점 이후 병목 발생으로 응답시간 증가

===================================================================================================================

 

각종 공식들에 눈돌아가네요...@_@;

DB와는 직접적인 관련이 없습니다만... 알아두시면 좋으실 듯 해서 두번째 정리본 올립니당~^^ㅋ


출처 : http://cafe.naver.com/prodba/3664

반응형

'연구개발 > DBA' 카테고리의 다른 글

tempdb 분리  (0) 2016.03.15
성능 모니터  (0) 2015.12.16
리소스 잠금 및 리소스 확인  (0) 2015.09.07
RECOMPILE  (0) 2015.09.04
tempdb 대량 I/O 발생시키는 쿼리 확인  (0) 2015.09.01

+ Recent posts