전체 조회 api 내부 동작 방식을 어떻게 하는게 좋을 지 고민이 많다. 그래서 부하 테스트를 해보고자 마음을 먹었다.
결론부터 말하자면 .. 설치는 다 했지만 이번 프로젝트에서는 nGrinder 를 사용하지 않기로 하였다. (자바 버전이 11 이상이라면 사용할 수 없습니다^^😹)
대표적인 테스트 툴이 nGrinder와 jMeter 인데, nGrinder를 사용하고 싶었던 이유는 GUI가 직관적이고, 사용하기 편하다길래 .. 그리고 네이버꺼라길래 한번 써보고 싶었다.
그럼 설치하고 사용하러 가봅시다 !
0️⃣ nGrinder war 설치 + 실행
https://github.com/naver/ngrinder/releases
위 깃허브 링크로 접속해서 ngrinder-controller-{버전}.war를 다운받아줍니다
그리고 터미널에서 다음과 같은 명령어를 입력합니다.
java -Djava.io.tmpdir={디렉토리 주소} -jar ngrinder-controller-3.5.8.war --port=8300
[ 💣 트러블 슈팅 ]
java -jar ngrinder-controller-{버전}.war --port=8300
처음에 위 명령어로 했더니 다음과 같은 오류 발생
war 실행 후 localhost:8300으로 접속해줍니다.
초기 아이디 비번은 모두 admin 입니다.
1️⃣ Agent 설치 + 실행
이제 agent를 다운받을 것 입니다.
다운 받아준 위치로 이동해 압축을 풀어줍니다.
tar -xvf ngrinder-agent-{버전}-localhost.tar
그리고 압축을 푼 ngrinder-agent 폴더로 이동해줍니다.
여기서
./run_agent.sh
[ 💣 트러블 슈팅 ]
ERROR agent controller: Error while connecting to agent controller server at /127.0.0.1:16001
controller를 끄고 해서 위와 같은 에러가 발생했었습니다.
agent 실행 시 controller도 실행되고 있는지 확인해주세요 !
실행이 정상적으로 되었다면 agent management에서 다음과 같이 현재 접속중인 agent를 확인해 볼 수 있습니다.
3️⃣ Script 작성 + 실행
그럼 이제 스크립트를 작성해야하는데요 ...
상단에 있는 script를 누르고 테스트할 api 규격에 맞게 입력해주면 알아서 script를 짜줍니다.
그리고 상황에 맞게 script 내용을 수정하면 돼요 !
근데 저와 같은 경우에는 스크립트를 다 짜고 오른쪽 validate 버튼을 눌렀더니 아래와 같이 오류가 떴습니다. ㅠㅠ
jdk 버전을 확인해달라는 오류 같아 찾아보니 ngrinder는 11버전까지만 지원해준다고 합니다. 저희 프로젝트는 java 17을 사용해서 발생한 오류였어요.
그래서 테스트할 때만 버전을 바꿔서 할까 .. 싶어서 프로젝트 자바 버전을 바꿔서 다시 실행해봤더니
이번엔 프로젝트 내부에서 오류가 발생했습니다. 네 .. java 17에서 제공하는 문법을 사용하고 있기 때문에 해당 코드도 다 수정을 해야하는 아주 큰 일이 발생하는 것이죠 ..
그래서 해당 프로젝트에는 nGrinder를 도입하지 않기로 했습니다 ㅠㅠ
🔗 참고
https://thalals.tistory.com/288
저 같이 다 설치하고.. 실행해놓고.. 자바 버전 때문에 사용하지 못하시는 분들이 없길 바라며 ..
그럼 jMeter로 부하 테스트 하는 글로 다시 찾아뵐게요
'Server' 카테고리의 다른 글
Spring boot Actuator + Prometheus + Grafana를 이용한 서버 모니터링 시스템 구축 (0) | 2023.10.16 |
---|---|
부하 테스트를 해보자 ! - jMeter 설치부터 테스트까지 (1) | 2023.09.13 |
배포 도전기 - Spring boot + Docker + EC2 (0) | 2023.06.30 |
Docker로 MariaDB 실행하고 터미널로 접속하기 (1) | 2023.05.01 |
[WEB] 웹 기초 (0) | 2022.05.04 |