참고 URL

nGrinder

네이버에서 오픈소스로 공개된 Java Net-Work Test Tool

  • 아파치에 기본 포함되어있는 툴로 서버의 스트레스를 주어서 얼마나 많은 트래픽을 견디는지 산출할 때 사용
  • nGrinder의 경우는 단순히 경로 하나를 스트레스를 주는 것이 아니라, nGrinder 가 지원하는 언어
  • Groovy, Jython 으로 시나리오를 작성하여 부하를 줄수 있는 장점이 있다.

Error

Error1. OpenJDK 64-Bit Server VM warning: Ignoring option MaxPermSize; support was removed in 8.0

참고 블로그 및 URL 보고 파일 다운로드 및 설치하는 와중 발생한 첫번째 error

🟥 OpenJDK 64-Bit Server VM warning: Ignoring option MaxPermSize; support was removed in 8.0

“MaxPerSize” 라는 커맨드가 8.0 버전에서 지원하지 않는 문제 발생

Solutions

brew 에서 해결을 해보려고 삽질을 하다가 brew에서는 해당 버전을 구할 수 가 없어 Download Azul JDKs에서 Zulu openjdk 설치


Error2. Please set java.io.tmpdir property like following. tmpdir should be different from the OS default tmpdir.java -Djava.io.tmpdir=${NGRINDER_HOME}/lib -jar ngrinder-controller.war

어떤 기능을 하는지는 모르겠지만 의미로만 보자면 java.io.tmpdir 라는 프로퍼티를 세팅 해달라고 하는 것이며 임시 디렉토리 에러로 보여 해당 명령어 실행 하였지만 다음과 같은 error 메세지가 나오고 있다.

Exception in thread “main” java.lang.IllegalStateException: Failed to create unpack directory in directory ‘/lib’

디렉토리를 만들 수 없어 생기는 error로 보이며, 또 mkdir 등 수많은 삽질의 시작

Solutions

관리자 권한으로 디렉토리 생성

sudo mkdir -p /usr/local/ngrinder/lib

리덱토리 생성 확인

ls -la /usr/local/ngrinder/lib

권한 부여

sudo chmod -R 777 /usr/local/ngrinder/lib

nGrinder 다운로드 파일 경로로 다시돌아와 실행

sudo java -Djava.io.tmpdir=${NGRINDER_HOME}/lib -jar ngrinder-controller-3.5.8.war

뭔가 실행되기 시작한다.

이후 다른 터미널을 실행하고 해당 커맨드 입력

./run_agent.sh

이후 프로그램이 실행되면 브라우져 주소창에 http://127.0.0.1:8080 를 입력 하면 로그인 창이 나온다

이후는 URL에서 확인하면 된다 초기 Id : admin 초기 password : admin


Error3. TEST Script 작성 중 URL to be tested - input valid URL

블로그에서는 http://localhost:3001 이런식으로 작성하는데 주소창에는 IP (number) 로 입력 해야한다.

IP는 http://127.0.0.1:8080/agent? 이 주소를 입력하면 확인 할 수 있다.


Multi-Agent

에이전트는 호스트 단위로 나누어 판단

  1. 에이전트 폴더를 추가생성

  2. 각각의 에이전트 터미널 실행

  3. 명령어 실행

./run_agent.sh -ah ~/.ngrinder_agent[에이전트 홈] -hi [에이전트 호스트 네임]
a) 1번 에이전트
./run_agent.sh -ah ~/.ngrinder_agent1 -hi 1st-agent
b) 2번 에이전트
./run_agent.sh -ah ~/.ngrinder_agent2 -hi 2nd-agent
c) 3번 에이전트
./run_agent.sh -ah ~/.ngrinder_agent3 -hi 3rd-agent

각 에이전트는 한 컴퓨터에서 리소스를 공유해서 사용하여 테스트 결과에 영향을 미칠수 있어 추천 되지는 않는다.


  1. 삭제할 openJDK 확인
$ cd /Library/Java/JavaVirtualMachines
$ ls
# 아래와 같이 설치되어 있는 openJDK 를 확인할 수 있다.(ex: adoptopenjdk-16.jdk)
stopleaf@stopleaf JavaVirtualMachines % ls
adoptopenjdk-16.jdk
  1. 삭제
$ sudo rm -rf adoptopenjdk-16.jdk