성능 테스트 목적
성능 테스트는 시스템이 특정 상황에서 얼마나 잘 작동하는지 확인하기 위한 테스트입니다. 이 테스트를 통해 시스템의 한계와 필요한 리소스를 파악할 수 있습니다.
최대 TPS는 어느정도 인지?
- 최대 TPS를 파악한 뒤 WAS의 work thread 개수를 설정한다.
- work thread와 active user수를 일치시키면 최적의 TPS를 이끌어 낼 수 있다.
- TPS = Active User / Response Time
시스템 리소스는 얼마나 필요한지?
성능 측정 ↔ 결함 검출 ↔ 병목 제거 ↔ 용량 검증 - 반복
성능 측정
시스템이 운영 전에 적정한 성능을 내는지 확인
결함 검출
시스템 운영 상태에서 나타날 수 있는 문제를 사전에 진단
병목 제거
검출된 결함에 대한 조치 진행
용량 검증
운영 시스템의 용량이 peak 시 업무를 처리할 수 있는지 확인
성능 테스트 종류
목적에 따른 분류
단위 성능: 하나의 성능만 테스트
임계 성능: 시스템이 어디까지 버틸 수 있는지 측정
통합 성능 테스트: 전체 시스템의 성능을 평가
방법에 따른 분류
Loop Back: 영향이 가면 되는곳까지만 테스트 진행
Spike: 이벤트성 부하 테스트 → 타임세일, 쿠폰 결제
성능 지표
용어 정의
명확히 단어정리를 하고 시작하는것이 좋다
Response Time - 응답 시간
사용자가 request한 시점에서 시스템이 Response할 때까지의 시간
Visit Time - 방문시간
요청 주기(Request Interval), Think Time
Active User
Request 요청을 하여 응답을 기다리는 사용자
Active User = TPS * Average Response Time
Throughput - 처리량
단위: tph, tpm, tps, pps, rps, hit/sec
Throughtput = Number of Request / Measure Time
Saturation Point - 임계점
최대 TPS가 나타나는 최초의 지점
Saturation Point가 넘어 사용자가 몰리면 TPS는 고정된 상태에서 응답시간이 길어진다.
성능테스트 계산식
HPS(hit per second) = 시스템이 처리할 수 있는 모든 웹 요청의 초당 처리
TPS
TPS = Active User / Average Response Time(s)
Active User = TPS * Average Response Time(s)
Active User
TPS = Active User / Average Response Time(s)
- TPS = Concurrent User / Request Interval
- Active User = Concurrent User * Response Time / Request Interval Time
Request Interval Time = Response Time + Think Time
- Active User = Concurrent User * Response Time / (Response Time + Think Time)
Concurrent User
TPS = Active User / Average Response Time(s)
Active User = Concurrent User * Response Time / (Response Time + Think Time)
- Concurrent User = Active User * ( 1 + (Think Time / Response Time))
- Concurrent User = Active User + (TPS * Think Time)
- Concurrent User = TPS * (Response Time + Think Time)
e.g. 목표 TPS구하기
Concurrent User = 2000
Average Response Time = 0.5s
Think Time = 10s
수식: Active User = Concurrent User * Response Time / (Response Time + Think Time)
Active User = 2000 * 0.5 / (0.5 + 10) = 95.23 = TPS(s)
'Observability > 성능테스트' 카테고리의 다른 글
[Database]Buffer Cache Hit Ratio 감소 (0) | 2023.12.10 |
---|