ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Little's law
    성능 이론 2020. 12. 11. 22:45

    Little's law (리틀의 법칙)는 고정 시스템에서 고객의 장기 평균 수가, 장기 평균 유효 도착률에 고객이 시스템에서 소비하는 평균 시간을 곱한 것과 같다는 John Little의 정리이다.

     

    In queueing theory, a discipline within the mathematical theory of probability, Little's result, theorem, lemma, law, or formula[1][2] is a theorem by John Little which states that the long-term average number L of customers in a stationary system is equal to the long-term average effective arrival rate λ multiplied by the average time W that a customer spends in the system. Expressed algebraically the law is

    L =  λ W

    * 출처 : 위키피디아

     

    예를 들어, 5시간 동안 300명의 손님이 다녀갔고 인당 평균 식사 시간이 10분일 경우 식당 내의 평균 손님 수는 얼마일까?

    λ=300명/5시간=60명/시간, W=1/6시간, L=60*1/6=10명

    즉, 이에 맞는 규모로 테이블 갯수 등 식당 설비를 갖출 수 있다.

     

     

    이는, 시스템의 성능 이론에도 동일하게 적용할 수 있다.

    Active users = TPS * Response time

    * TPS : Transactions per Second

     

    이해를 쉽게 하기 위해, 1명의 사용자가 시스템에 요청을 보낼 때 응답이 1초에 이루어졌다면, 초당 처리건수는 1건이 되고, 2명일 경우에는 2건이 된다. 또한, 2명이 요청을 보낼 때 0.5초의 응답이 이루어질 경우 처리량 (TPS)은 4건이 되는 것이다. 이렇게 상기의 공식을 간단히 이해할 수 있다.

     

    Little's law

     

    이 때, 사용자는 Think time 없이 지속적으로 요청을 보내는 Active user이며, 응답시간은 평균 응답시간이 된다.

    시스템 처리량과 응답시간은 다음과 같이 변환 가능하다.

    TPS = Active users / Response time

     

    Response time = Active users / TPS 

     

    그러므로, 시스템 처리량은 사용자 수에 비례하고, 응답시간에 반비례한다. 또한 응답시간은 사용자 수에 비례하고 시스템 처리량에 반비례하게 된다.

     

     

    이를, 스토리지 성능 컨셉에 맞게 아래와 같이 변환하여 이해할 수 있다.

    Thread는 I/O 부하를 일으키는 주체가 되고 Latency (지연시간)는 간단히 스토리지의 응답시간으로 이해하면 된다. IOPS는 초당 입출력 오퍼레이션 건수로 스토리지의 처리량을 나타내는 지표이다.

    IOPS = Threads / Latency

    * IOPS : Input Output Operations per Second

     

     

    정리하면, Little's law에 의해 동일한 부하레벨 하에서 응답시간 또는 지연시간이 낮을 수록 시스템 처리량이 높아짐을 알 수 있다. 그래서 정해진 자원 내에서 시스템 성능을 높이기 위해 튜너들이 어플리케이션이나 SQL의 응답시간을 줄이는 노력을 하게 되는 것이다. 즉, 성능 개선의 핵심은 응답시간을 낮추는 것이라 할 수 있다.

     

    "Low response time makes high throughput"

     

    '성능 이론' 카테고리의 다른 글

    처리량과 응답시간, 어느 것이 더 중요한가?  (4) 2020.12.16
    컴퓨터 시스템의 처리량 곡선  (0) 2020.12.15
    동시사용자와 부하 분석  (1) 2020.12.14
    IOPS와 지연시간  (0) 2020.12.13
    TPS와 응답시간  (0) 2020.12.12

    댓글

Designed by Tistory.