1. 왜 사용하나?
성능테스트에서 성능은 시스템의 처리량, 속도, 메모리 사용량 등이 주어진 환경에서 명시된 기능에 대해 정상적으로 수행하는 것을 말합니다.
사용자 요청을 처리하기 위해 소요된 응답시간은 클라이언트에서 측정하고, 단위 시간당 시스템에서 처리되고 있는 처리량은 서버에서 측정합니다. 보통 웹기반 시스템에서는 성능 측정의 기준을 TPS(Transaction Per Second - 단위시간당 처리건수)로 합니다.
성능테스트의 목적을 다음과 같이 간략하게 정리해 볼 수 있습니다.
1. 안정적인 서비스를 위해 안정성 확보
2. 다수의 사용자에 의하여 발생할 수 있는 부하에 대한 예방
3. 서버의 최적화를 위해 서버환경 검사
4. 병목 구간을 파악하여 수정
그리고, 목적에 따라 다음과 같은 3개의 유형으로 분류할 수 있습니다.
1. 단위테스트 - 단위 별 업무의 최대한의 성능을 측정하는 단계
2. 통합테스트 - 목표를 정해놓고 계산된 부하를 발생시켜 측정하는 단계
3. 임계테스트 - 정해놓은 목표없이 도출할 수 있는 최대 성능을 측정하는 단계
2. 주요 용어
1. Concurrent Users (동시사용자) - 해당 시스템을 사용하기 위한 사용자로서, Active Users와 Inactive Users로 분류할 수 있습니다.
Active Users는 Request를 수행한 후, 응답을 기다리고 있는 사용자이며, Inactive Users는 Request를 수행하지 않고 대기중인 사용자 입니다.
2. Load (부하) - 사용자들이 테스트하고자 하는 시스템을 단위시간당 몇 건으로 호출 하고 있는지에 대한 빈도
3. Think Time (대기시간) - 사용자가 다음 요청을 전송하기 전까지의 시간
4. Response Time (응답시간) - 사용자 요청을 처리하는데 소요되는 총 시간
5. Request Interval (호출 간격) - 호출간격 = Response Time + Think Time
6. Throughput (처리량) - 대상 웹 서버가 부하발생 클라이언트에게 송신한 데이타량
7. Vuser (Virtual user) - 시스템에 부하를 주기 위한 가상 사용자
8. Transaction (작업단위) - 하나의 작업이 시작하여 완료되는 시점을 하나의 트랜잭션으로 정의
9. TPS (단위시간당 처리건수) - 단위 시간에 처리 가능한 트랜잭션의 수(TPS = ConcurrentUser/Request Interval)
10. Test Script - 시스템의 성능에 대해 확인하기 위해서 레코딩한 소스
11. Test Scenario - 어떤 방식으로 시스템에 부하를 줄 것인지 정하는 방식
12. 병목현상 - 부하가 많이 걸려 전체 시스템에 영향을 주는 현상
3. 로드러너 성능테스트 방법
1. 스크립트 작성
2. 시나리오 작성
3. 실행 및 결과분석
자 이제 1번인 스크립트 작성부터 시작하겠습니다.
- 시작 > HP Software > HP LoadRunner > Virtual User Generator 실행
- 메뉴 File > New Script and solution > VuGen > Single Protocol > Web (HTTP/HTML)을 선택 > Create
Menu > Record > Recording Options 선택하여 설정을 몇가지 변경해줘야 합니다.
- HTML-based script: browser application
- URL-based script: non-browser application
- A script describing user actions: 사용자 액션을 설명하는 스크립트
- A script containing explict URLs only: 명시적인 URL만 포함하는 스크립트
Menu > Record > Recording Options
HTTP Properties > Advanced > Support charset > UTF-8 선택하여 OK클릭
- UTF-8: UTF-8 인코딩 지원
참고로, Recording Options은 한번만 설정해 놓으면 이후부터는 똑같이 적용이 됩니다.
설정 완료 후, Start Recording 창에서 OK 버튼을 클릭하면, 설정해 놓은 URL Address 페이지를 열어 레코딩을 시작합니다.
Recording bar의 events가 count되면 정상적으로 동작하는 것 입니다
이제 레코딩 시작
Menu > Record 선택
Record into Action
- Init: 시작하면서 한번만 실행되는 영역
- Action: 반복적으로 실행되는 영역
- End: 종료되면서 한번만 실행되는 영역
Applicaion
- 브라우져 선택 : Explorer or Google Chrome
URL Address에 레코딩 하고자 하는 주소를 입력 합니다
자 이제 "Start Recoding" .... Just Do It..!!