*본 과정은 Linux(Ubuntu 20.04.4 LTS) 환경에서 설치 및 테스트 환경을 구축한 것이기 때문에 타 OS에서 진행할 경우 과정이 상이할 수 있습니다.
Ngrinder 사용을 위해선 java 기반이기 때문에 버전 확인을 통해 설치 유/무를 확인합니다.
$ java -version
저의 경우 java가 설치되어있지않아 java 설치를 위해 아래의 명령을 입력하여 설치를 진행하였습니다.
$ sudo apt insatll openjdk-11-jre-headless
설치 후 java version을 다시 확인합니다.
$ java -version
openjdk version "11.0.13" 2021-10-19
java가 설치된 것이 확인되었다면 ngrinder 설치를 위해 아래의 명령을 실행합니다.
https://github.com/naver/ngrinder/releases/
Releases · naver/ngrinder
enterprise level performance testing solution. Contribute to naver/ngrinder development by creating an account on GitHub.
github.com
(본인의 경우 ngrinder 3.5.3 버전으로 설치 하였으며, 상기 링크에 릴리즈된 최신 버전을 사용해도 괜찮습니다.)
$ wget https://github.com/naver/ngrinder/releases/download/ngrinder-3.5.3-20201127/ngrinder-controller-3.5.3.war
내려받은 war 파일을 실행합니다.
(Admin Web을 서비스할 포트를 지정하는 것이며 변경이 가능하므로 저의 경우 8080포트로 하였습니다.)
$ java -jar ngrinder-controller-3.5.3.war --port=8080
허나 실행 시 다른 동작이 불가하므로 백그라운드 실행을 위해서
아래의 명령을 실행하여 새로운 스크린 세션을 생성합니다.
$ screen -S NgrinderController (NgrinderController = Session Name)
생성된 세션에서 아래 명령을 다시 입력후 Ctrl + A + D를 입력시 세션이 닫히며, 해당 스크린에서 백그라운드로 동작하게 됩니다.
$ java -jar ngrinder-controller-3.5.3.war --port=8080
웹브라우저에서 본인의 IP + 설정한 포트를 입력하여 관리 페이지에 접속 합니다.
ex. localhost:8080
로그인 후 상단의 Script를 클릭한 후, Create - Create Script를 클릭하여 테스트할 새로운 스크립트를 작성합니다.
생성한 스크립트에서 수정 사항이 있는 경우 Validate를 클릭한 후, Save/Close를 클릭하여 스크립트 수정 화면에서 나갑니다.
스크립트가 생성 되었는지 확인 합니다.
에이전트를 다운로드 할 차례입니다.
아래의 명령을 입력하거나 혹은 관리 페이지의 admin - Download Agent를 클릭하여 다운로드 받을 수 있습니다.
$ wget http://localhost:8080/agent/download/ngrinder-agent-3.5.3-localhost.tar
다운로드 받은 에이전트 압축 파일의 압축을 해제 합니다.
tar -xvf ngrinder-agent-3.5.3-localhost.tar
압축을 해제한 후 ngrinder-agent 폴더로 이동하여 아래의 명령을 입력합니다.
$ ./run_agent.sh
or
$ ./run_agent_bg.sh(백그라운드 실행 시)
* Ngrinder의 구성요소 알고가기
- Controller : 부하 테스트를 위한 웹 인터페이스를 제공하며, 테스트 결과를 통계로 보여주고 Agent에게 부하에 대한 일을 시키는 역할을 합니다.
- Agent : Controller에 연결되어 Target Sever에 가상 사용자들이 접근하도록 일을 시키는 역할을 합니다.
(에이전트의 경우 다른 서버에도 설치하여 동시에 부하를 줄 수 있습니다.)
- Target Server : 테스트할 대상 서버입니다.
관리 웹페이지의 admin - Agent Management에서 실행되어있는 에이전트에 대해 Approved/Disapproved 할수있습니다.
Performance Test - Create Test를 하여 Test를 작성합니다.
Agent : Controller에 연결 승인된 수만큼 까지만 지정을 할 수 있습니다.
Vueser per agent : agent당 가상 유저수입니다. process, thread로 구성이 되어있고 수정이 가능합니다.
(기본값은 3000까지 설정 가능한것으로 되어있으나, System Configuration에서 주석 제거 후 설정할 최대 가상 유저 수를 늘릴 수 있습니다.)
Script: 저희가 만든 Script 설정에 대한 부분입니다.
Target Host : 부하를 일으킬 호스트입니다.
Duration : 테스트를 진행할 시간입니다.
Run Count : 테스트를 실행할 횟수입니다. 한마디로 각 가상 유저가 몇 번을 부하를 일으킬지 설정하는 부분입니다.
Enable Rampe-Up : 트래픽을 서서히 증가하게 하는 설정입니다.
설정이 완료되었다면, Save And Start를 클릭하여 실행합니다.
(Run Now를 실행시 바로 시작, Schedul을 통해 실행도 가능합니다.)
추가적으로 아래의 폴더로 이동한 후 tail 명령어를 통해 log 파일을 확인 시 에이전트 실행을 모니터링 할수 있습니다.
$ cd .ngrinder_agent/logs
$ tail -f agent.log
'IT기술' 카테고리의 다른 글
GitHub 커밋&푸쉬 CMD 사용법 (0) | 2023.08.18 |
---|---|
JAVA_HOME 환경변수 설정 (0) | 2022.03.24 |