성능 테스트 도구로는 JMeter, nGrinder, k6등 이 있다 !
그 중 JMeter는 자바 기반의 오픈 소스로 테스트 및 성능 측정이 가능하며
설치와 사용방법이 간단한 것이 장점이라고 한다 👍
🕶 설치
1. 하단 URl 접속
Apache JMeter - Apache JMeter™
Apache JMeter™ The Apache JMeter™ application is open source software, a 100% pure Java application designed to load test functional behavior and measure performance. It was originally designed for testing Web Applications but has since expanded to oth
jmeter.apache.org
2. 좌측 Download Releases 클릭
3. Binaries에 zip 다운로드
4. 압축 풀고 bin폴더에 jmeter.bat 실행(맥은 jmeter.sh )
5. cmd창과 함께 JMeter가 실행되면 설치 성공 !
⭐cmd를 종료 시키면 JMeter도 종료된다고 하니 주의
🍳사용 방법
1. Thread Group 추가
- Add - Threads(Users) - Thread Group
- Number of Thread(users) : 쓰레드(가상 사용자) 갯수
- Ramp-up period(second) :스레드가 시작되는 간격
- Loop Count : 반복 횟수
⭐아래의 경우 10명의 가상 사용자가 1초만에 1번을 반복하여 요청을 보냄
2. 요청 보낼 HTTP 지정
- Add - Sampler - HTTP Request
- Protocol[http] : https 테스트시 https 입력(http 테스트시 공란)
- Server Name or IP : 로컬에서 테스트 하기 때문에 localhost
- Port Number : 테스트 할 포트 넘버
- HTTP Reqest : 요청 http method , 접근 하고자 하는 컨트롤러
입력 후 하단에 Add 클릭!
3. Listener 생성
- Add - Listener- View Result Tree(결과 트리 보기), Summary Report(요약 보고서) , Aggregate Graph(집계 그래프) 각각 추가
⭐좌측에 모두 추가 된 모습
4. 실행
- 초록색 play 버튼을 눌러 실행(설정이 등록이 안되 에러가 나는 경우 빗자루로 Clean 해주기)
👶실행 결과
▪ View Results Tree(결과 트리 보기)
- Thread Name:Thread Group 1-1 이 부분은 스레드 또는 요청 그룹의 이름
- Sample Start: 샘플(요청)이 시작된 시간
- Load time: 해당 요청의 총 로드 시간(단위 : ms(밀리초))
- Connect Time: 서버와의 연결을 맺는데 소요된 시간(단위 : ms(밀리초))
- Latency: 응답 지연 시간(요청을 보낸 후 서버로부터 응답을 받기까지의 시간)(단위 : ms(밀리초))
- Size in bytes: 전체 응답 크기(단위 : byte)
- Sent bytes: 해당 요청에서 전송된 데이터 크기(단위 : byte)
- Headers size in bytes: 요청 및 응답 헤더의 크기(단위 : byte)
- Body size in bytes: 응답 본문의 크기(단위 : byte)
- Sample Count: 요청이 몇번 샘플링 됐는지
- Error Count: 에러 횟수
- Data type: 데이터 타입
- Response code: 서버로부터 받은 응답의 상태 코드
- Response message: 서버로부터 받은 응답 메시지
▪ Summary Report(요약 보고서)
- 차례로 라벨, 요청 수, 평균, 최소값, 최대값,표준 편차, 오류(%), 처리량, 수신(초), 전송(초), 평균 바이트 수
▪ Aggregate Graph(집계 그래프)
- Setting에서 원하는 항목 선택 후 Graph로 확인 가능
'🌱 Spring' 카테고리의 다른 글
스프링 빈(Spring Bean)이란? (0) | 2023.09.26 |
---|---|
Spring과 SpringBoot의 차이점 (0) | 2023.09.20 |
스프링(Spring Framework) 버전 별 특징 (1) | 2023.08.05 |
2. SpringBoot에서 카카오 로그인 API 적용하기(DB 저장) (0) | 2023.08.01 |
1. SpringBoot에서 카카오 로그인 API 적용하기(DB 저장) (0) | 2023.07.31 |