-
정보시스템의 대표적인 성능 지표는 처리량 (Throughput)과 응답시간 (Response Time)이다.
1. 처리량
처리량은 시스템 측면의 대상 시스템에 대한 성능을 평가하는 KPI이며, 단위로는 주로 TPS (Transactions per Second)를 사용한다.
이는, 단위 시간당 대상 시스템에서 처리되고 있는 요청 건수를 의미하며, 일반적으로 처리량을 일컬을 때 각 대상 리소스별로 호칭하는 용어가 별도로 존재한다.
처리량 단위
- CPU : MIPS, MFLOPS
- Network : BPS, pps
- Server : tpmC
- C/S, TP-Monitor, Mainframe : TPS
- Storage : IOPS
TPS (Transactions per Second)
- 초당 발생하는 Business Transactions
- TPS = 총 Business Transaction 처리건수 / 단위시간 (sec)
- 1TPS = 60 TPM = 3600 TPH
- 시스템의 주요 성능 Factor
2. 응답시간
응답시간은 사용자 측면에서의 성능을 평가하는 KPI로 주로 사용되며, 사용자가 해당 업무를 요청한 시점부터 서버로부터 그 결과에 대한 응답을 받아서 사용자 화면에 디스플레이할 때까지 소요된 총시간이다.
그러므로 다음과 같이 각 리소스별로 소요된 시간의 합으로 나타낼 수 있다.
Response Time = Client Time + Network Time + Server Processing/Sending Time
응답시간을 소요시간으로 구분하면, 각 리소스 별 소요된 Service time과 각 리소스에서 대기하고 있는 Queuing time의 합으로 구성된다. Tier 별 구분 시 Client, Network, Web, WAS, DB 시간 등으로 나타낼 수 있다.
* Batch job의 경우, 응답시간보다는 소요시간 (Elapsed time)이라는 용어를 사용한다. 이는 해당 배치작업을 완료할 때까지 소요된 시간으로 정의한다.
응답시간 종류
- 평균 응답시간 (Avg) : 각 Transaction 별 Response의 평균 응답시간
- 최소 응답시간 (Min) : 각 Transaction 별 Response 중 가장 짧은 응답시간
- 최대 응답시간 (Max) : 각 Transaction 별 Response 중 가장 긴 응답시간
- 백분율 응답시간 (50th, 60th, 70th, 80th, 90th ...) : 각 Transaction 별 응답시간을 작은 값에서 가장 큰 값으로 늘어 놓았을 때 각 백분율 순위에 위치하는 응답시간
- 주로, 시스템 및 기타 여러 가지 원인으로 인해 순간적으로 왜곡된 10%의 응답시간을 제외한 90th 응답시간과 평균 응답시간을 가장 의미있는 응답시간으로 인정
3. 처리량과 응답시간의 상관 관계
부하가 증가할 수록 (사용자의 요청이 증가할 수록) 어느 수준까지는 처리량이 선형적으로 증가한다. 왜냐하면 서비스 시간이 일정하기 때문이다. 즉, Little's law에 의해 Response time이 일정한 상태에서 Active user 수가 증가하므로 TPS가 커지게 되는 결과이다.
그러나, 부하가 계속 증가하더라도 어느 시점에 이르러 처리량이 더이상 증가하지 않고 일정한 수준을 유지하게 되는데, 이렇게 되는 변곡점을 포화점/임계점 (Saturation point)이라 부른다. 포화점 이후부터는 대기시간 (Queuing time)이 길어지기 때문에 응답시간이 기하급수적으로 증가하게 되며, 사용자가 증가하더라도 성능이 더 이상 올라가지 않기 때문에 이 때의 동시 사용자 수를 최대 허용 동시 사용자라고 표현한다. Saturation point는 해당 시스템의 최대 처리량을 나타내는 지점이 된다.
성능 테스트의 한 형태인 Critical Performance Test (임계 성능 테스트)의 경우, Saturation point를 찾아내는 것을 목표로 한다. 즉, 해당 시스템의 한계 성능을 확인하기 위함이다. 이로 인해, 최대 TPS와 그 때의 응답시간과 자원사용률, 최대 허용 동시 사용자 수 등을 알 수 있게 된다.
'성능 이론' 카테고리의 다른 글
처리량과 응답시간, 어느 것이 더 중요한가? (4) 2020.12.16 컴퓨터 시스템의 처리량 곡선 (0) 2020.12.15 동시사용자와 부하 분석 (2) 2020.12.14 IOPS와 지연시간 (0) 2020.12.13 Little's law (0) 2020.12.11