설치 방법은 다양하다.
version: '3.8'
services:
controller:
image: ngrinder/controller
restart: always
ports:
- "9000:80"
- "16001:16001"
- "12000-12009:12000-12009"
volumes:
- ./ngrinder-controller:/opt/ngrinder-controller
agent:
image: ngrinder/agent
restart: always
links:
- controller
이렇게 작성하면 최신 버전으로 실행할 수 있다. 그런데 현재 버전이 오류를 많이 초래한다는 카더라가 있어서 아래와 같이 3.5.5버전으로 낮춰서 실행하는 것을 추천한다.
version: '3.8'
services:
controller:
image: ngrinder/controller:3.5.5 // 버전 낮추기
restart: always
ports:
- "9000:80"
- "16001:16001"
- "12000-12009:12000-12009"
volumes:
- ./ngrinder-controller:/opt/ngrinder-controller
agent:
image: ngrinder/agent:3.5.5
restart: always
links:
- controller
$ docker-composer up -d
백그라운드 옵션 (-d) 로 컨테이너 띄운다
http://localhost:9000/login
또는 http://{인스턴스_IP_주소}:9000/login
으로 접속한다.
성공적으로 접속하면 초기 ID/PW는 admin/admin 이다.
로그인까지 성공하면 이렇게 뜬다.
오른쪽 상단 메뉴에서 Agent Management
를 클릭한다.
그럼 위 화면이 뜬다.
상단에 Script 클릭하면, 스크립트 목록을 확인할 수 있다.
Create
버튼을 눌러서 뜨는 모달에서 성능 테스트할 API 주소를 입력한다. 어차피 다시 스크립트 다 수정할 수 있으니 대충 입력해도 된다.'
Create
누르면 스크립트가 자동으로 생성된다. 이제 이 스크립트가 Spring Boot의 테스트코드와 같이 API를 실행할 시나리오가 된다. 자동 생성되는 스크립트는 입력한 API에 대해 GET 요청을 보내는 스크립트이다.
오른쪽 위에 Validate
를 눌러서 한 번 제대로 실행되어야 테스트가 실행되는데, 위처럼 ERROR가 뜨면 안된다. 기본 생성 스크립트 ERROR가 뜨면 이 포스팅 위쪽에서 언급했듯이 버전 문제일 확률이 높다. 다시 버전을 낮춰서 실행하는 것을 추천한다.
Validate
를 눌렀을 때 이렇게 뜨면 스크립트가 제대로 실행될 준비가 되었다는 것이다.
스크립트 작성이 완료되었다면 상단의 Performance Test
를 클릭한다. 처음에는 테스트 목록이 없을 것이다. 오른쪽 상단의 Create Test
를 클릭한다.
테스트를 생성하기 위한 페이지가 뜬다. 아까 생성한 스크립트를 선택한 뒤, 적당한 조건을 설정하여 오른쪽 상단의 Save and Start
버튼을 눌러 성능 테스트를 실행한다.
그러면 이렇게 테스트 결과를 확인할 수 있다. 여기서 TPS
란 초당 트랜잭션 수 (Transactions Per Second)를 뜻한다. 주로 컴퓨터 시스템이나 데이터베이스 시스템의 성능을 측정하는 데 사용되는 지표 중 하나이고 시스템이 얼마나 많은 트랜잭션을 각 초에 처리할 수 있는지를 나타낸다.
그리고 실행한 테스트 횟수와 성공/실패 횟수를 확인할 수 있다.
이렇게 실패 횟수가 많을 때 왼쪽 하단의 log 알집에서 간단한 로그도 확인할 수 있다.