○ SW 성능테스트(Performance Test)
– 일반적으로 시스템 개발 종료 시점(인수 테스트 전)에 통합 성능 테스트를 수행
– 시스템의 오류 및 병목 구간을 사전에 발견하여 조치
– 시스템이 허용할 수 있는 최대 사용자를 예상하여 안정성 확인
– 비기능 품질특성 중 효율성 충족 여부를 검증하기 위한 테스트
그리고는 성능테스트에 관한 용어들도 한번 짚고 넘어가야겠다.
▷ 트랜잭션(Transaction)
– 웹 어플리케이션의 경우, 일반적으로 HTTP Request/Response 또는 사용자의 화면 조작에 대한 결과 화면 표시를 트랜잭션으로 설정
– 화면 조작을 통한 요청(Request)과 그에 대한 응답(Response) 화면을 하나의 트랜잭션으로 정의하여 사용함. 즉, 일정한 단위 업무별, 기능별로 트랜잭션을 정의하여 성능을 측정
▷ TPS(Transaction Per Second)
– 1초에 시스템이 처리할 수 있는 트랜잭션의 수
– TPS는 성능 테스트의 가장 중요한 지표로 사용
– 시스템의 특정 기능에 대한 성능을 측정한 결과, 30 TPS가 나오면, 1초에 30개의 트랜잭션을 처리할 수 있다는 의미
* 이는 1분에 1800개(30 TPS × 60초)의 트랜잭션을 처리할 수 있다는 것이고, 1시간에 108000개
(30 TPS × 60초 × 60분)의 트랜잭션을 처리할 수 있음
▷ 응답시간(Response Time)
– 요청에 대한 응답이 올 때까지 걸리는 시간
* Response Time = Network Time + Server Time + Client Time
* Server Time = Web Server Time + WAS Time + DB Time
– 웹 어플리케이션에서는 일반적으로 3~4초의 응답시간을 기준으로 설정
– 의미 있는 응답시간의 통계치는 평균 응답시간과, 90% 응답시간
* 측정한 트랜잭션 응답시간으로 부터 정렬된 전체 데이터 중 90% 지점에 해당 되는 값
(응답시간에 대한 최고값을 보정하기 위한 값)
성능 테스트는 그 종류에 따라 또 나뉘기도 한다.
① 부하 테스트 (Load Test)
– 일정 시간 동안 부하를 가하여 서버가 처리할 수 있는 최대 TPS와 응답시간을 산출, (가장 일반적인 성능 테스트)
② 내구성 테스트 (Endurance Test)
– 긴 시간 동안 부하를 가하여 시스템의 안정성을 점검하는 것이 목적
– 일반적으로 최대 TPS가 나오는 가상 사용자만큼 부하를 가하는 상태를 지속
③ 스트레스 테스트 (Stress Test)
– 정상보다 더 많은 부하를 주는 테스트
④ 스파이크 테스트 (Spike Test)
– 순간적으로 사용자 수를 증가시키는 테스트 (수강신청 시스템 등)
'Util > JMeter' 카테고리의 다른 글
웹 상에서 말하는 Performance (0) | 2017.12.07 |
---|---|
jmeter (0) | 2017.12.05 |