2019년 2월 1일
성능 테스트
I. 사용자 신뢰성 확보 위한 성능 테스트 개요
가. 성능 테스트의 개념
- 시스템에 요구되는 성능을 감당할 수 있는지 성능상의 문제 여부를 검증하는 시스템 테스트 기법
나. 성능 테스트의 용어
용어 | 세부 설명 |
---|---|
TPS (Transaction Per Second) | AU (Active User) / MRT (평균 응답 시간: Mean Response Time) 초당 트랜잭션 |
Named User | 모든 등록된 사용자 = Concurrent User + 비접속자 |
Concurrent User | 특정 시점 접속사용자 = Active User + In Active User |
Active User | 특정 요청을 보낸 다음 응답을 기다리는 사람 |
In Active User | 요청 결과를 보거나 다음 요청까지 대기하는 사람 |
Response Time | 요청으로 응답을 받아 화면에 표현할 때까지 시간 |
Think Time | 사용자가 생각하는 시간 (= 서버 Idle 시간) |
Request Interval Time | 사용자가 한 번 클릭하고 다음 클릭할 때까지 시간 |
II. 성능 테스트의 유형 및 구성요소, 절차, 구성환경
가. 성능 테스트의 유형
분류 | 유형 | 설명 |
---|---|---|
목적 | 단위성능 테스트 | 대상 시스템을 업무 단위로 테스트 수행 |
복합성능 테스트 | 실 사용 패턴 기반 여러 업무 테스트 | |
임계성능 테스트 | 시스템이 최대 발휘할 수 있는 성능 측정 | |
방법 | Loopback 테스트 | Application Code에 Loop Code 삽입 |
Tier 테스트 | Tier 간 통신 재현하여 병목 구간 탐색 | |
Spike 테스트 | Peak-Traffic 기반 시스템 서비스 측정 | |
확장성 테스트 | 확장계수 산정 기반 확장성 보장여부 측정 | |
가용성 테스트 | 특정 기간 트래픽 발생하며 시스템 점검 |
나. 성능 테스트 주요 지표
지표 | 산출식 | 설명 |
---|---|---|
TPS | 트랜잭션/초 | – 초당 트랜잭션 처리량 지표 – TPC 공인 TPMC, TPC-C, TPC-H |
Throughput | 최대 응답 개수 | – 최대 트랜잭션 처리량 지표 – 시스템 최대 성능 목표 |
Response Time | Request Time(초) + Process Time(초) | – 사용자 요청 후 화면 표시시간 – 정상 시 2초, 부하 시 10초 등 |
Resource Usage | CPU Load(%) 메모리 점유율(%) | – 프로세스의 CPU / MEM Load – Disk IOPS, MB/s 등 |
다. 성능 테스트의 구성요소
구성 요소 | 상세 설명 |
---|---|
성능 테스트 조직 (계획 수립) | 요구 도출, 성능, 목표 확인, 테스트 계획 수립 |
성능 테스트 대상 (테스트 설계) | Workload 모델 설계, 테스트 케이스 도출, 프로세스 수립, 스크립트 생성 등 |
성능 테스트 도구 (테스트 실행) | 환경구성 및 부하발생 준비작업, 테스트 수행/모니터링 |
테스트스크립트 (테스트 결과보고) | 테스트 종합결과보고 및 작업수행 후 평가보고서 작성 |
성능 지표 | 전체 사용자, 동시 사용자, 부하, 응답시간 등 |
라. 성능 테스트의 구성환경
구성 환경 | 설명 |
---|---|
성능 테스트 | 성능 테스트 스크립트 작성 및 부하 분산 주체 |
성능 테스트 Agent | 컨트롤러로부터 지시를 받아서 실제 부하 발생 유발하는 소프트웨어 |
로그 수집기 | 성능 테스트를 수행하며 발생하는 로그를 실시간 수집 |
One Comment
항상 감사합니다 도리님.^^