성능 부하 테스트 중의 소법

먼저
시스템 개발에서 특히 대규모 요청량이 예상되는 응용을 만들 때 실제 요청량의 성능 부하 테스트를 모의하기도 한다.
과거 참가한 성능 부하 테스트에서 목표치에 대해 잘못하고 논의할 수 있기 때문에 이 글을 썼다.
처리량(TPS) 및 병렬
성능 로드 테스트를 논의할 때 처리량(TPS)과 병렬 수를 혼동하는 경우가 많습니다.
여기에 각 단어의 정의를 다시 한 번 쓰시오.
  • 처리량(TPS)
  • 단위당 시간 처리 가능한 사무수.
    통상 단위 시간은 초를 많이 사용하기 때문에 초당 거래수로도 TPS(Transaction Per Secend)로 표시된다.
    물동량의 가치가 크다는 것은 많은 거래를 처리할 수 있다는 것을 의미한다.
  • 병렬
  • 어느 시점에서 거래를 얼마나 처리했는지.
    이 단위는 교역 수량이다.
    병행수가 크다는 것은 어느 시간에 여러 개의 처리를 동시에 할 수 있다는 것을 의미한다.
    복잡한 원인은 삼복량과 병행수가 큰 값이 많은 처리를 할 수 있다는 개념이기 때문이다.
    실례를 들어 설명하시오.
    첫 번째 상황은 1초에 두 개의 요청을 보내고 한 개의 요청은 1초에 끝난다.
    이런 상황에서 어느 순간 병행수가 2이고 물동량은 초당 2회 거래이다.

    두 번째 경우 2초마다 두 개의 요청을 보내고 요청은 2초에 끝난다.
    이 경우 어느 시점이든 병행수가 2이고 처리량은 2초 2회 거래되며 1초로 환산하면 1회 거래가 된다.

    그러면 이 두 병행수는 모두 2이지만 흡수량에 차이가 있다.나는 이 차이의 주요 원인이 반응 시간이라는 점이 일목요연하다고 생각한다.
    총괄은 아래와 같다.병렬수는 변하지 않지만, 흡수량이 증가하면 응답 시간이 줄어든다.
    박스
    행수
    처리량(TPS)
    응답 시간(초)
    박스 1
    2
    2
    1
    박스 2
    2
    1
    2
    나는 똑똑한 사람이 이 수치들이 관계가 있다는 것을 알아차릴 것이라고 생각한다.
    작은 법칙
    소법칙위키백과에 따라은 줄 서기 이론에서 다음과 같은 공식으로 표시된다.
    L = \lambda W
    
    여기서 $L=고객 수 $, $lambda=도착 수 $W=고객이 소비한 시간 $US입니다.
    이 공식은 줄 서기 이론의 의미로 표시된다.따라서 언뜻 보기에는 상관없는 것 같지만 성능 부하 테스트의 경우 다음과 같은 공식으로 표시할 수 있다.
    並行数 = スループット \times 応答時間
    
    방금 상황의 1/상황2에 적용되면 다음과 같다.
  • 시나리오 1
  • 2_{並行} = 2_{tps} \times 1_{秒}
    
  • 상황2
  • 2_{並行} = 1_{tps} \times 2_{秒}
    
    이 두 가지 예는 너무 간단해서 나는 비교적 복잡한 예를 생각해 보았다.

    이 예는 네 개의 병행 운행이라는 것을 곧 알게 되었다.따라서 흡수량과 평균 응답 시간의 곱셈은 4이어야 하지만 그것을 검증해 보자.
    첫째, 물동량은 제8차 거래, 제2차 거래는 제4차 거래, 제3차 거래는 제2차 거래, 제4차 거래 합계 13차 거래는 8초에 달한다.즉, $\rac{8+4+2+1{8}=15/8=1.885{tps}달러입니다.
    평균 응답 시간은 다음과 같습니다.덧그림
    \frac{1_{秒} \times 8_{tran} + 2_{秒} \times 4_{tran} + 4_{秒} \times 2_{tran} +  8_{秒} \times 1_{tran} }{15_{tran}} = \frac{32_{秒Tran}}{15_{Tran}}=2.133 秒
    
    이것들을 곱하면 다음과 같다.
    1.875_{tps} \times 2.133_{秒} \fallingdotseq 4.00_{並行}
    
    이것은 점수로 계산하면 더욱 정확하다.
    \frac{15}{8}_{tps} \times \frac{32}{15}_{秒} = 4_{並行}
    
    복구 처리량/병렬/응답 시간
    작은 돌멩이의 법칙을 다시 한 번 살펴보자.
    並行数 = スループット \times 応答時間
    
    이 공식만 보면 병행수를 높이려면 흡수량을 늘리거나 응답 시간을 늘려 실현할 수 있다.
    물동량을 높이면 병행수를 높일 수 있다는 점은 이해하기 쉽지만 같은 물동량을 통해 응답 시간을 높이고 병행수를 높이는 것도 중요하다.
    물동량을 중심으로 하는 의식은 다음과 같다.
    スループット =  \frac{並行数}{応答時間}
    
    처리량을 높이려면 병행수를 늘리거나 응답 시간을 낮출 수 있다.나는 이것들이 모두 직감과 같다고 생각한다.
    응답 시간을 중심으로 하는 공식은 다음과 같다.
    応答時間 =  \frac{並行数}{スループット}
    
    응답 시간을 줄이는 것은 병렬 수를 줄이거나 삼키는 양을 늘려서 실현할 수 있다.응답 시간을 병행수나 흡수량과 연결시켜 인상하는 것이 중요하다.
    총결산
    병행수/吞吐량/응답 시간은 애플릿의 법칙에 따라 각각 이해하면 성능 부하 검증에서 더욱 정확하고 깊이 이해할 수 있으니 반드시 사용하십시오.

    좋은 웹페이지 즐겨찾기