nGrinder
nGrinder는 Controller와 Agent로 나눠져 있습니다.
Controller
부하테스트를 위한 웹 인터페이스 제공
테스트 스크립트 작성
테스트 결과를 수집하여 통계로 보여줌
Agent
Controller의 명령을 받아 실제로 target에 부하를 발생시킴
CPU, memory 모니터링도 가능
저는 하나의 Controller와 3개의 Agent를 둬서 테스트를 진행합니다.
위 링크에 들어가서 war 파일을 다운 받는다
java -jar ngrinder-controller-3.5.8.war --port=8300
java -Djava.io.tmpdir=/Users/seoyun/ngrinder -XX:MaxPermSize=200m -jar ngrinder-controller-3.5.8.war --port=8300
3-1. 브라우저에 지정해준 port 번호로 접속
localhost:8300
3-2. ngrinder 로그인
초기 아이디와 비밀번호는 admin이다
에이전트 설치
다운로드 받은 tar 파일 압축 풀기
터미널에서 해당 경로로 이동한 뒤 압축 풀기
tar -xvf ngrinder-agent-{version}-localhost.tar
//tar -xvf ngrinder-agent-3.5.8-localhost.tar
cd ngrinder-agent
./run_agent.sh
실행이 완료되었으면 아까 접속했던 localhost:8300의 에이전트 관리 탭으로 넘어가면 확인해볼 수 있다
📌 발생한 에러
: nGrinder 실행 시 필요한 임시 파일의 저장 경로를 명시하지 않아서 나는 에러이다. 따라서 실행 시 아래와 같이 임시 파일을 생성할 위치를 명시해주면 된다.
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 -Djava.io.tmpdir=/Users/seoyun/ngrinder-pinpoint -jar ngrinder-controller-3.5.8.war --port=8300
📌 실행시 발생한 에러
Caused by: org.ngrinder.common.exception.NGrinderRuntimeException: Can not check available ports because given local IP address '218.38.137.28' is unreachable. Please check the `/etc/hosts` file or manually specify the local IP address in `${NGRINDER_HOME}/system.conf`.
Error creating bean with name 'consoleManager': Invocation of init method failed; nested exception is org.ngrinder.common.exception.NGrinderRuntimeException: Can not check available ports because given local IP address '218.38.137.28' is unreachable. Please check the `/etc/hosts` file or manually specify the local IP address in `${NGRINDER_HOME}/system.conf`.
➡️ 해결 방법
'Please check the `/etc/hosts` file or manually specify the local IP address
in `${NGRINDER_HOME}/system.conf`.
// IP 주소 : 192.168.219.102
cd /users/seoyun/.ngrinder
vim system.conf
system.conf 파일에 ip주소 입력 후 저장 wq!
ngrinder.controller.ip=${LOCAL_IP_ADDRESS}
📌 발생한 에러
: agent에서 controller에 접근할때 주소가 기본적으로 log에 나와있는 localhost로 시도하는데, 나는 위에서 본 에러로 host 주소를 바꿔줬기 때문에 여기서도 동일하게 변경해주어야 한다.
2023-03-17 12:09:21,967 ERROR agent controller: Error while connecting to agent controller server at /127.0.0.1:16001
➡️ 해결
/Users/.ngrinder_agent/agent.conf 파일의 상단에 있는 host를 내 local IP address로 수정해주면 된다.
⭐️ host를 위 에러에서 수정해줬던 내 IP주소 변경
📌 발생한 에러
➡️ 해결 windows는 bat으로 실행
📌 만약 에러가 나면서 Script탭이 열리지 않는다면 Controller 및 Agent를 내린 후 .nGrinder 폴더 삭제 후 다시 실행
sudo rm -r .ngrinder
설치 참고 링크