개발

[Mac] nGrinder란? , 설치 및 부하 테스트 해보기

simba 2021. 1. 29. 14:31

nGrinder란

- 서버에 대한 부하를 테스트 하는 것 (서버의 성능 측정)

- 실제 서비스에 투입 되기 전 , 실제와 같은 환경을 만들어 놓고 서버가 사용자를 얼마 만큼 수용할 수 있는 지를 실험 할때 사용하는것

 

nGrinder의 구조

Controller : 테스팅을 위한 인터페이스를 제공하는 서버
Agent : Controller가 명령을 받아 실제 부하를 발생시키는 서버
Target : 부하테스트의 대상이 될 서버

 

nGrinder는 자바 기반이므로 자바 설치가 먼저 되어야합니다

 

1. 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

 

에서 다운을 받습니다. 

 

2. 실행

 

다운받은 경로로 이동하여 아래 명령어를 실행시킵니다

$ java -XX:MaxPermSize=200m -jar ngrinder-controller-3.5.3.war

 

기본 8080 포트를 사용하나, 8080포트를 사용중이거나 다른 포트로 실행하고 싶을 경우

$ java -XX:MaxPermSize=200m -jar ngrinder-controller-3.5.3.war -p 7777

완료시 위와 같은 화면이 됩니다

 

3. Agent다운

브라우저로 

http://127.0.0.1:8080/ 에 들어갑니다. ( 포트 변경 했을경우 8080을 바꾸신 포트로 변경하시면 돼요)

초기 User ID와 Password는 admin입니다

 

 

좌측 상단에서 Download Agent를 눌러 agent tar 파일을 다운로드 합니다. 다운로드 완료후 압축을 푼뒤

다운된 경로로 이동하여 실행시켜 줍니다. 아래와 같은 화면이 나오면 돼요

$ ./run_agent.sh

 

4. Script 작성

 

create a script 를 누르면 아래와 같은 화면이 나오는데 , script Name과 http 메소드와 URL을 입력하시면 돼요

스크립트는 작성후 Validate Script를 눌러서 잘 실행이 되는지 꼭 확인해주세요

실행이 잘된다면 save 해줍니다

 

 

5. Test 진행

 

create Test를 눌러 테스트를 진행해봅시다

 

Agent는 현재 1개를 설치했으므로 Max:1이 나오는것이 맞아요

Vuser는 실제로 테스트를 돌리게할 사용자 수입니다.

 

밑에 화면에서 잘 잘성을 한뒤 Save and Start를 눌러줍니다. (아무것도 작성하지 않은 화면이에요!)

 

바로 Run Now를 하셔도 되고, 시간을 맞춘다음에 원하는 시간에 테스트를 진행할 수도 있어요

 

실행이 잘되면 Test Running이라는 탭이 하나더 생기면서 바로 화면 전환이됩니다!

이후 TPS 등 자세한 디테일들을 확인하시면 됩니다 (평균 TPS, 최고 TPS, 평균 Test 시간, Error 개수 등)

 

 

수고하셨습니다~!

혹시 시간이 되시면 groovy가 뭔지도 추가로 찾아보시면 좋을것같습니다! 시간이 될때 그건 따로 포스팅할게요!