본문 바로가기
Research/Testing

성능 이론_처리량과 응답 시간

by RIEM 2023. 2. 28.

정보 시스템의 대표적인 성능 지표는 1) 처리량(Throughput)과 응답시간(Response Time)이다.

처리량

시스템 측면에서 대상 시스템의 성능 평가하는 KPI이며, 단위는 TPS(Transaction per Second)를 주로 사용. 단위 시간당 처리되는 요청 건수를 의미하며, 대상 리소스별로 용어가 다르다.

처리량 단위

  • CPU : MIPS, MFLOPS
  • Network: BPS, pps
  • Server: tpmC
  • C/S, TP-Monitor, Mainframe: TPS
  • Storage: IOPS

TPS

  • Transaction Per Second(TPS)의 약자로 1초에 트랜잭션이 얼마나 발생하는지 알려주는 지표
  • TPS = 총 Business Transactions 처리 건수 / 단위시간(sec)
  • 1TPS = 60 TPM = 3600 TPH

응답시간

사용자 측에서의 성능을 평가하는 KPI로 주로 사용. 사용자가 업무 요청 시점부터 서버로부터 그 결과에 대한 응답을 받아 화면에 출력할 때 까지 걸리는 총 시간.

  • Response Time = Client Time + Network Time + Server Processing/Sending Time
  • Tier 단계 별 : Client - Network - Web - WAS - DB

처리량과 응답시간의 상관관계

Screen Shot 2023-02-28 at 1 50 07 AM
https://performance.tistory.com/4

Light Load Zone

  • 사용자 요청 증가(부하 증가) 시 처리량(TPS)가 선형적으로 증가한다. (서비스 시간이 일정)
  • Little's law에 의해 Response time이 일정한 상황에서 Active User 증가하므로 TPS가 상승

Heavy Load Zone

  • 그러다 Heavy Load Zone에 진힙하면 부하 증가 하더라도 처리량이 증가하지 않고 일정 수준 유지하게 됨. 이를 포화점/임계점(Saturation point)라 부름.
  • 포화점 이후로는 대기시간(Queuing time)이 길어지기에 응답시간이 기하급수적으로 증가
  • 이때 지점의 동시 사용자 수를 최대 허용 동시 사용자(The maximum allowable number of concurrent users)라 표현

임계 성능 테스트

임계 성능 테스트(Critical Performance Test)는 성능 테스트 중 하나로 임계점을 찾아내는 것을 목표로 함.

파악할 부분
- 부하를 점진적으로 증가시키면서나타나는 응답시간의 변화
- 임계점에서의 최대 처리량과 응답 시간을 확인하는 것이 중요하다

무작정 부하 주어 처리량을 조금이라도 높이려는 것은 무의미

Saturation Point(포화점/임계점)

Screen Shot 2023-02-28 at 1 25 33 AM
https://www.whatap.io/ko/blog/14/

  • 서비스에 사용자가 지속적으로 늘어나면 어느 순간부터 TPS가 더 이상 증가하지 않는 상황 발생하는 지점을 포화점이라 한다
  • 포화점이 지나고 오히려 TPS가 떨어지기도 하는데, 위처럼 그대로 유지된다면 긍정적인 상황으로 볼 수 있음
  • Saturation Point 지점부터 '트랜잭션의 응답 시간이 길어지겠구나' 라고 이해하면 됨
  • 계산은 동시 접속자 유저 300명 넘어갈 시, TPS 50이라면 요청 사항 처리 시 6초가 걸리겠구나라고 판단하면 됨

Reference

댓글