ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 컴퓨터 시스템의 처리량 곡선
    성능 이론 2020. 12. 15. 17:49

    일반적인 컴퓨터 시스템의 처리량 (Throughput)은 부하가 증가하면서 선형적으로 증가하다 그 증가세가 서서히 완화되면서 결국엔 한계에 이르게 된다. 부하는 사용자가 시스템에 전달하는 요청 (Request)으로 정의할 수 있다.

     

    아래 그림에서 보듯, Light load zone에서는 부하 증가 시, 처리량 역시 일정하게, 두드러지게 증가하는 모습을 볼 수 있다. 이 때는 시스템의 처리 능력에 부족함이 없기에 일정한 응답시간을 유지할 수 있기 때문이다. (By Little's law)

     

    Throughput curve of a typical computer system

     

    그러나, 임계점 (Saturation point) 이후부터는 부하가 증가하여도 처리량이 더 이상 증가하지 못하고 일정한 수준으로 유지된다. 이 때는 시스템이 낼 수 있는 최대 성능치에 이른 것이며, 병목 현상이 나타나게 된다.

     

    그럼에도 불구하고, 부하를 지속적으로 더 높이면, 일정하게 유지되던 처리량이 어느 순간 하락하게 되는데, 이 때의 구간을 Buckle zone (경합 구간)이라 부른다. 이는, 1차적인 병목 지점 이외에 과부하로 인한 추가적인 병목 지점이 발생하여, 즉, 하나 이상의 병목이 중첩되어 오히려 처리량을 끌어내리는 효과가 생기기 때문이다. 실제로 부하 테스트 툴을 통해 Stress test를 해 본 사람들은 한번쯤 겪어보았을 것이다.

     

    정보시스템 또는 스토리지의 처리량은 Little's law를 통해 아래의 공식으로 이해하면 위에 설명한 내용과 맞아떨어지는 것을 알 수 있다. 즉, 시스템에 가해지는 부하가 작은 저부하 구간에서는 부하 (Active user)가 증가하더라도 응답시간이 일정 수준으로 유지되므로 처리량 (TPS)이 커지게 되고, 시스템 성능이 한계에 다다른 임계점 이후부터는 부하를 증가시켜도 대기시간이 길어지므로 결국 응답시간도 함께 커지게 되어 처리량이 커지지 않고 동일한 값을 나타내게 되는 것이다. (스토리지의 IOPS는 TPS에, Thread는 Active user에, Latency는 Response time에 대입하면 동일한 개념으로 이해할 수 있음)

     

    정보시스템의 처리량

     

    이러한, 컴퓨터 시스템의 처리량과 응답시간의 관계를 제대로 알고 있으면, 다양한 성능 현상을 이해할 수 있게 되고, 성능 테스트 시 무리하게 부하를 주는 일이 무의미하다는 것도 알 수 있다.

     

    한 시스템의 성능을 평가할 때는, 부하를 점진적으로 증가시키면서 나타나는 응답시간의 변화와 임계점에서의 최대 처리량과 응답시간을 확인하는 것이 중요하다. 무작정 많은 부하를 주어서 처리량을 조금이라도 더 높이려는 노력은 별 이득이 없다. 그만큼 응답시간의 손해를 감수해야 하기 때문에 오히려 느린 시스템이라는 증명만 하게 되는 것이다.

     

    처리량과 응답시간의 상관 관계는 성능 이론에서 아주 기본적이면서도 중요한 사항이다. 그러므로, Little's law를 잘 이해하여야 한다.

     

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

    처리량과 응답시간, 어느 것이 더 중요한가?  (4) 2020.12.16
    동시사용자와 부하 분석  (2) 2020.12.14
    IOPS와 지연시간  (0) 2020.12.13
    TPS와 응답시간  (0) 2020.12.12
    Little's law  (0) 2020.12.11

    댓글

Designed by Tistory.