대머리개발자

ngrinder 스크립트 작성 환경 구성 본문

개발이야기/오픈소스 설치

ngrinder 스크립트 작성 환경 구성

대머리개발자 2020. 12. 22. 17:56
728x90

성능 테스트를 ngrinder와 pinpoint를 이용해서 진행하고 있다.

너무나 좋은 친구들을 그것도 무료로...ㅜ_ㅜ 선배 개발자님들 감사합니다.(__)

 

3대의 에이전트 환경에서 테스트한 결과 (500 *3) 개똥 같은 Response가 나와 버렸다. 절반 이상의 응답이 3초를 초과해버렸다. 

 

 

조금 더 유연하고 다양한 시나리오를 작성하기 위해 로컬 환경에 스크립트(그루비) 작업 환경을 구성하고자 했다. 문제의 시발점...이 시발! 그냥 단순 웹을 통해서 작성할걸.... GG

ngirnder web 통한 스크립트 작성 화면

일단 로컬 환경을 구성하기 위해서 Search를 시작!

이단 gradle 이용해서 쉽게 구성할 수 있겠다 싶어 gradle 프로젝트로 자바 환경 구성

 

gradle 대박......와!!!

 

마치 이클립스를 쓰다 인텔리제이를 넘어갔을 때의 느낌이다. 메이븐 안녕하겠구만

 

각설하고~

 

1. 첫 번째 오류는 친절하게 콘솔에 나온다. 자바 VM 옵션을 추가해 주세용~ 위치(경로)까지 콘솔에 찍히기 때문에 설정만 하면 된다.

java.lang.RuntimeException: Please add 
-javaagent:E:\grinder-dcr-agent-3.9.1.jar in 'Run As JUnit' vm argument.

2. 두 번째 오류도 아래와 같이 친절하게 나온다.

java.lang.UnsupportedOperationException
net.grinder.scriptengine.groovy.junit.GrinderRunner.withBeforeProcess(GrinderRunner.java:268)
net.grinder.scriptengine.groovy.junit.GrinderRunner.classBlock(GrinderRunner.java:207)

## 예외처리의 필요성!! 우왓!!

오류의 원인을 빠르게 판단하고 쉽게 해결할 수 있도록 개발자님들의 배려. 감동의 도가니

 

### 결론부터 이야기하자면 nginder는 Junit에 dependencies가 있다고 한다. 

따라서 Junit4.8 미만을 사용해야 하고 기존 친구랑 충돌 나면 안 된다고 한다.

 

해서 build.gradle을 확인해보니 프로젝트 구성할 때 자동으로 작성되어 있던 testCompile 바로 제거!!!

 

ngrinder 개발자님의 코멘트가 딱 정확했다. --> Junit in your pom.xml

 

 

모든 것이 좋았닷!!

 

728x90