성능 테스트에 사용 되는 용어
Activce User
- 서버에 연결된 상태로 요청을 처리 중인 사용자
InActive User
- 서버와 연결된 상태는 아니지만 서비스를 이용 중인 사용자
Cocurrent User
- Active User + InActivce User
Response Time
- 요청을 보낸 후 응답이 완료될 때까지의 시간
Throughtput
- 단위 시간당 서버에서 처리되는 요청수
- 일반적으로 TPS(Transcation Per Second) 단위를 사용
Latency
- 요청을 전송 한 후, 응답 데이터를 받기 시작할 때까지의 시간
Think Time
- 하나의 요청에 대한 응답을 받은 시점부터, 다음 요청을 보낼 때까지의 시간
Request Interval Time
- 하나의 요청을 전송한 후부터 다음 요청을 보낼 때까지의 시간
- AB(Apache benchimak) -> 단순 처리 시간 테스트용, 사용하기 쉬움
- JMeter -> 가장 전통적인 성능 테스트용 오픈 소스, 다양한 프로토콜 테스트 지원
- nGrinder -> 네이버에서 만든 오픈 소스 성능 테스트 툴, 웹애플리케이션 성능 테스트에 특화
JMeter란?
- 애플리케이션의 기능을 테스트 및 성능 측정하기 위한 오픈 소스
- 순수 java 애플리케이션
- 웹 애플리케이션 테스트용 외 다른 테스트도 가능
Jmeter로 할 수 있는 것
- 다양한 애플리케이션, 프로토콜에 대한 부하 테스트
- Web -> Http, HTTps
- jdbc 이용한 database 테스트
- jms를 이요한 message기반 미들 웨어
- Tcp 등
- 시나리오 기반 테스트
Jmeter를 사용하지 않고 할 수 있는 테스트
Jmeter를 사용하면?
- 클릭 한 번하면 설정 정보를읽어 한 번에 보낼 수 있게 해줌
JMeter의 주요 구성요소
- Test Plan : 테스트 구성요소를 모두 포함하는 테스트 시나리오