728x90
- 용어
- 동시단말사용자/동시접속자 (Concurrent User)
- Active User : 요청 후 응답을 기다리는 사용자
- Inactive User : 요청하지 않고 있는 사용자
- 호출간격 (Request Interval)
- Response Time : 요청 후 응답받는 시간
- Think Time : 응답받고 다음 요청 전까지의 시간
- 처리량 (Throughput)
- 단위 시간당 처리량
- 일반적으로 TPS (Transaction Per Second) 사용
- 목표
- 서버 관점
- 사업팀이 제시한 수용인원(CU) 상태에서 안정적으로 동작해야 한다
- 사용자 관점
- 클릭 후 N초 내에 동작이 완료되야 한다
- 클라이언트 처리시간만 1.5초로 가정하면 서버에서는 약 0.5초로 산정
- 네트워크 전송 및 웹브라우저 해석에 의한 병목
- 공식
- 기본 공식
- ConcurrentUser = ActiveUser + InactiveUser
- ActiveUser = TPS * ResponseTime
- InactiveUser = TPS * ThinkTime
- RequestInterval = ResponseTime + ThinkTime
- 계산식 도출 (리틀의 법칙)
- ConcurrentUser = TPS * RequestInterval = TPS * (ResponseTime + ThinkTime)
- ActiveUser = ConcurrentUser * ResponseTime / (ResponseTime + ThinkTime)
- 목표값 제시
- 복합거래
- TPS
- CU, RT, TT는 비즈니스 수치이므로 사전 협의되야 한다
- CU 1650 명, RT 0.5초, TT 5초로 가정하면 계산식은 다음과 같다
- TPS가 300을 도달해야 한다
- 1650 = TPS * (0.5 + 5)
- AU는 150명으로 도출할 수 있다
- AU = 300 * 0.5
- 응답시간
- 90 백분위수 적용 (최대값이 10초인 경우 응답시간을 9초로 판단)
- 이상치가 발생하여 응답시간의 편차가 커질 경우, 대표값으로 평균을 사용하게 되면 왜곡된 수치가 나올 수 있다.
- 하드웨어
- CPU 점유율은 최대 60% 를 넘지 말아야 한다
- 제니퍼에서 제안하는 수치
- 장애 발생시 수치가 높아질 수 있음을 감안해야 함
- 단일거래
- 복합거래 TPS에 맞춰 병목구간을 찾아 최대한 튜닝한다
- 참고 URL
728x90
'이론' 카테고리의 다른 글
자사 제품이 백신에서 위험하다고 판정되는 경우 (0) | 2014.10.01 |
---|---|
웹사이트 테스트시 빼먹기 쉬운 항목 (0) | 2013.08.05 |
테스트 기법 (0) | 2013.06.27 |
[용어] 성능테스팅, 부하테스팅, 스트레스테스팅 (0) | 2009.06.07 |
[용어] 드라이버, 스텁 (0) | 2009.06.07 |