본문으로 바로가기
728x90
반응형
SMALL

1. nGrinder Controller, nGrinder Agent 설치 및 실행

docker-compose.yml

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
$ docker-compose up

 

 

2. nGrinder 웹 접속

http://호스트아이피:9000/login

admin/admin

 

 

3.메뉴 설명

Performance Test

애플리케이션을 테스트하고 그 결과에 대해 조회할 수 있는 메뉴

Script

Perfomance Test를 하기 전 어떻게 테스트할 것인가를 작성하는 Script

 

 

4. 나의 서버에 nGrinder 등록상태 확인

admin - Agent Management

 

 

5. Script 작성

Script - Create - Create a script


URL에 테스트 해야 할 API URL 입력 후 Create

Create 한 다음 Validate 로 스크립트 검증 후 Save

 

 

6. Performance Test 생성

Performance Test - Create Test

6-1 생성

커스텀하게 세팅 해주고 Script는 이전에 만든 Script 입력력

  • 테스트명 : 해당 테스트를 지정하는 이름
  • Agent : 테스트에 사용할 Agent 갯수 지정. 현재 max가 1개 이지만 위 Docker를 통해 Agent를 생성하는 과정을 통해 갯수를 늘릴 수 있음
  • Vuser per agent : Agent 별 Vuser의 수, 테스트할 사용자의 수
  • Script : 테스트할 Script
  • Duration : 테스트를 수행하는 시간
  • Ramp-Up : 조금씩 사용자를 늘려나갈 때 사용
    • 늘어나는 사용자의 숫자를 프로세스이기 때문에 Ramp-Up 기능을 사용하려면 프로세스 숫자가 높아야 한다.
    • x축: 시간흐름, y축: 동시접속자
    • ex) 초기 대기시간:2, Ramp-Up 주기: 2000 -> 즉, 2초마다 2개의 프로세스가 생성
      • Initial Count : 초기 Process/Thread 수
      • Increment Step : Process/Thread를 몇 개씩 증가시킬 건지
      • Intial Sleep Time : 초기 대기 시간
      • Interval : 얼마 주기로 증가시킬 건지

테스트 시나리오

  • Agent 1대
  • 테스트 유저: 3000명
  • 테스트 시간: 3분
  • Ramp-Up: 테스트 유저 1 부터 1초마다 유저 1씩 증가(1초마다 tps 증가)

6-2 Save and Start 클릭

테스트 시작 시간을 정한 후 Run Now 클릭

 

 

7. 부하테스트 결과 확인

Report 확인

 

 

8. Report 분석

더 자세한 결과를 원한다면 Detailed Report 확인

평균/최대 TPS: 5,347.7 / 6,168.5
에러율: Errors / Executed Test 345/931283 0.00037045667107%
평균 실행시간: 444.85ms

S
  • TPS 자체는 5천 이상으로 기존 유저 수 3000을 웃도는 것을 보면 문제 없음(TPS 높으면 좋음)
  • TPS가 조금씩 떨어지는 병목 구간이 확인되는데 Erros 쪽에 발생률이 조금 있는것을 확인할 수가 있음.
  • Errors가 조금은 보이나 문제 될것은 없으나 0 을 지향하자. (에러율 0.00037045667107%)

 

728x90
반응형
LIST