TIL

슬기의 TIL - 2023.06.05 (JMeter)

seulki_lim 2023. 6. 6. 23:43

채팅 기능을 마무리하면 코드 리펙토링을 하려고 한다.

 

그 전에 성능 및 부하테스트를 하고, 리펙토링 후에 테스트를 해서 전후 비교를 하면

리펙토링의 효과를 검증할 수 있을 것이라는 가설을 세웠다.

 

그러기에 앞서 Apache JMeter를 알아보려고 한다.

 


Apach JMeter

서버가 제공하는 기능 동작을 테스트하고 성능을 측정하는 테스트 도구로 100% 순수 Java 애플리케이션인 오픈 소스 소프트웨어

정적 및 동적 리소스, 웹 동적 애플리케이션 모두에서 성능 테스트할 수 있고, 서버, 서버 그룹, 네트워크 또는 개체의 과부하를 시뮬레이션하여 강도를 테스트하거나 다양한 부하 유형에서 전체 성능을 분석하는 데 사용할 수 있음

 

 

설치

Apach JMeter -> Download Releases -> Binaries -> zip파일 다운로드

 

실행

압축 해제 -> bin -> jmeter.bat 클릭

cmd 창과 함께 Apach JMeter 창이 뜨면 실행 완료

(cmd 창 종료시 JMeter 종료)

 

사용방법

 

testPlan 우클릭 -> Add -> Threads(Users) -> Thread Group 클릭

 

 

Number of Threads (users) : 가상사용자 수

Loop Count : 테스트 반복 횟수 

 

 

Thread Group 우클릭 -> Add -> Config Element -> HTTP Request Defaults 클릭

 

 

아이피 번호, 포트 번호 작성 (IP : localhost, Port : 8080)

 

 

Thread Group 우클릭 -> Add -> Sampler -> HTTP Request 클릭

 

 

Name : 테스트 할 페이지 이름
Method : 요청 메소드 Default는 Get
Path : 페이지 Url
Add : 받아올 Parameter (생략 가능)

 

입력하고 Add 클릭

 

위 두 단계를 테스트 할 페이지 개수만큼 반복

 

재생 버튼 클릭하면 테스트 실행됨

 

결과

Thread Group 우클릭 -> Add -> Listener 원하는 항목 선택하고 확인

 

테스트 결과를 지우고 싶은 경우 톱니바퀴 클릭


 

이런 느낌

DB 프리티어에 영향이 있을까봐 유저만 50으로 주고 전체페이지 조회 테스트 해봤는데

생각보다 오래걸린다.

 

리펙토링 시급..!!

 

 

 

참고

https://jmeter.apache.org/

https://zz1-hyunn.tistory.com/48