Apache JMeter 란?
Java 로 GUI 기반으로 서버, 서버 그룹, 네트워크 또는 개체의 과부하를 시뮬레이션하여 강도를 테스트하거나 다양한 부하 유형에서 전체 성능을 분석하는 데 사용할 수 있다.
지원하는 프로트콜도 다양하고 플러그인으로 확장성도 다양하다. 또한, 레코딩 기능을 제공하고 오래전부터 사용하던 Test Tool 이다. 이를 통해 큰 커뮤니티와 많은 플러그인이 존재한다.
JMeter 사용방법에 대하여
먼저 다운을 받는다.
https://jmeter.apache.org/download_jmeter.cgi
zip 파일 형태로 최신 버전 다운을 하고 압출을 풀면 된다.
해당 파일에 들어가게 되면
이런 파일구조를 가졌는데 bin 에 들어가서 해당 경로를 복사한다.,
ex) C:\Users\~~~\OneDrive\바탕 화면\코딩자료\apache-jmeter-5.6.2\bin
이제 cmd 창을 키고 이렇게 명령어를 친다.
cd C:\Users\~~~\OneDrive\바탕 화면\코딩자료\apache-jmeter-5.6.2\bin
jmeter
jmeter 에 있는 경로에 접근하여
jmeter 를 실행한다는 명령어다.
그렇다면 이제 Jmeter 가 켜질것이다.
이러한 화면이 뜨면 성공이다.
Jmeter 사용 방법
이제 얼마나 부하를 줄것인지에 대해 Thread Group 을 설정해야 한다. 아래와 같이 만들자.
누르게 되면 아래와 같은 화면이 뜬다.
( name 은 내가 수정하였다. )
창에서 Thread Properties가 중요한 부분이다.
- Number of Threads: 몇 개의 쓰레드(유저 수)로 테스트할 지
- Ramp-up period: {Number of Thread} 만큼의 쓰레드를 몇초에 걸쳐서 만들 지
- Loop Count: 요청을 몇번을 반복할 지
테스트 목적에 맞게 수정하면 된다.
이제 HTTP 테스트할수 있도록 설정 하자.
이런식으로 HTTP Request 버튼을 누르면 된다.
이런창이 뜨면 된다. 위의 사진 처럼 API 주소 입력하고 셋팅을 맞추면 된다. 이제 성능 테스트를 위한 지표를 받기 위해
Listner 를 추가해야 한다. 아래의 사진을 참고하자.
위와 같이 추가해주면 된다.
먼저 실행 해보자.
위와같이 실행을 누르고 기록을 확인하면 된다. 아래는 실제로 테스트 해본 결과를 첨부 하였다.
View Results Tree
Summary Report
Samples - requset 갯수
Average - Sample Time의 평균
Min - Sample Time의 최소
Max - Sample Time의 최대
Std. Dev. - Sample Time의 표준편차
Error % - 에러율
Throughput - 시간당 처리량(=쓰루풋)
Received KB/sec - 시간당(sec) 받은 데이터(KB)
Sent KB/sec - 시간당(sec) 보낸 데이터(KB)
Avg. Bytes - 평균 바이트
View Results in Table
Sample - 그냥 ID번호다. 이 번호를 보고 몇번째로 보는 부하인지 알 수 있다.
Start Time - 보내기 시작한 시간으로 ms단위까지 나온다.
Thread Name - 쓰레드 그룹 이름
Label - 보낸 request의 이름
Sample Time(ms) - Load Time, Elapsed Time, Response Time이랑 같은 뜻이다. 요청 시작 시점부터 응답 종료 시점까지의 시간을 의미
Status - 말그대로 응답상태를 확인할 수 있다.
Bytes - 응답 데이터 바이트
Sent Byte - 요청 데이터 바이트
Latency - 지연 속도를 의미하는데 요청 시작 시점부터 응답 시작 시점까지의 시간을 의미
Connect Time(ms) - TCP Handshake를 이용해 연결하는 시간(그냥 TCP연결시간)
'Spring' 카테고리의 다른 글
@Conditional (0) | 2023.12.21 |
---|---|
HikariCP (0) | 2023.08.17 |
Spring interface 의존성 주입 (0) | 2023.07.31 |
QueryDSL (1) (2) | 2023.07.10 |
Filter (0) | 2023.06.26 |