JMeter 소개
성능 측정 및 부하(load) 테스트 기능을 제공하는 오픈 소스 자바 어플리케이션
다양한 형태의 어플리케이션 테스트 지원
- 웹-HTTP, HTTPS
- SoAP/REST 웹 서비스
- FTP
- 데이터베이스(JDBC사용)
- Mail(SMTP, POP3, IMAP)
CLI 지원
- CI또는 CD 툴과 연동할 때 편리
- UI를 사용하는 것보다 메모리 등 시스템 자원 적게 사용
주요 개념
- Thread Group: 한 쓰레드 당 유저 한명
- Sampler: 어떤 유저가 해야 하는 액션
- Listener: 응답을 받았을 때 할 일(이포팅, 검증, 그래프 그리기 등)
- Configuration: Sampler 또는 Listener가 사용할 설정 값(쿠키, JDBC 커넥션 등)
- Assertion: 응답이 성공적인지 확인하는 방법(응답 코드, 본문 내용 등)
JMeter 설치
https://jmeter.apache.org/download_jmeter.cgi
위 페이지에서 .zip 파일을 다운 받는다. 다운이 다 되면, bin 디렉토리에 있는 jmeter.bat나 jmeter.sh 파일을 실행시키면 JMeter를 사용할 수 있다.
JMeter 사용하기
Thread Group 만들기
- Number of Thread: 쓰레드 개수
- Ramp-up period: 쓰레드 개수를 만드는데 소요할 시간
- Loop Count: infinite를 체크하면 위에서 정한 쓰레드 개수로 계속 요청을 보냄. 값을 입력하면 해당 쓰레드 개수 X 루프 개수 만큼을 보냄
Sampler 만들기
- 여러 종류의 샘플러가 있지만 그 중 사용할 샘플러는 HTTP Request 샘플러
- HTTP Sampler
- 요청을 보낼 호스트, 포트, URI, 요청 본문 등을 설정
- 여러 샘플러를 순차적으로 등록하는 것도 가능
Listener 만들기
- View Results Tree
- View Results in Table
- Summary Report
- Aggregate Report
- Response Time Graph
- Graph Results
Assertion 만들기
CLI 사용하기
- jmeter -n(ui를 쓰지 않겠다) -t 설정 파일 -l 리포트 파일
참고
https://www.inflearn.com/course/the-java-application-test