본문 바로가기

오류일기

nGrinder java.io.tmpdir 오류 해결방법

토이프로젝트를 하는 중 부하 테스트를 해야 하는 상황이 왔습니다. jmeter, gatling, ngrinder 등 다양한 테스팅 툴 중 Naver에서 만들었으며 레퍼런스가 그나마 많은 jmeter와 nginder중 무엇을 선택해야 할 지 고민하였습니다. 그러나 저는 현재 자바 + 스프링으로 취준을 하고 있고 테스트 스크립트를 groovy로 작성할수있는 nGrinder를 사용하기로 하였습니다.

 

원인

그렇게 nGrinder document를 보면서 다음과 같이 실행시켰고 

 java -jar ngrinder-controller-3.5.9.war

다음과 같은 오류가 발생했습니다.

에러 창

 

에러 코드를 요약하자면 다음과 같습니다.

java.io.tmpdir(자바 시스템 속성)와 OS 기본 tmpdir은 서로 달라야 합니다.

 

 

해결 방법

그렇기에 자바의 시스템 속성을 변경하거나 혹은 운영체제의 시스템 속성을 변경하면 될 것입니다.

우선 문제가 되는 자바 시스템 속성인 tmpdir의 값은 다음과 같습니다.

java -XshowSettings:properties 를 터미널에 입력하면 속성값을 확인할 수 있습니다.

 

다음 운영체제의 tmpdir의 값은 다음과 같습니다.

맥 OS를 사용하고 있는 저의 경우 printenv를 통해 확인할 수 있었습니다.

 

 저 같은 경우 운영체제의 환경변수를 건드는 것보단 java 시스템 속성의 값을 바꿔서 실행시키는 것이 안전하다 판단되어 

다음과 같이 nGrinder의 war 파일이 위치한 디렉토리의 경로를 잡아주었습니다.

 

그리고 다음과 같이 서버가 떴다는 로그를 보았고 

 

이후 localhost:8080으로 접속하면

 

다음과 같이 접속할 수 있습니다!

+ 초기 로그인 계정의 id는 admin이고 pw는 admin입니다.