nGrinder Docker 설치 및 사용방법

2024. 10. 25. 23:46·Backend/프로젝트
목차
  1. 1. nGrinder란?
  2. 2. docker-compose.yml 파일 작성
  3. 3. nGrinder 접속
  4. 4. Script 작성
반응형

1. nGrinder란?

nGrinder는 Naver에서 제공하는 오픈 소스 성능 테스트 도구로, 웹 애플리케이션, API, 서버의 성능을 측정하고 부하를 시뮬레이션하는 데 매우 유용한 도구입니다. 특히, 자바 기반의 스크립트 언어(Jython, Groovy)를 지원하여 코드 작성이 용이하며, 분산 환경에서 대규모 성능 테스트를 간편하게 수행할 수 있도록 설계되었습니다.

 

지금부터는 Ngrinder를 설치하고 스크립트 작성하는 방법을 알아보겠습니다.

 

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

 

해당 yml 파일을 작성하고 파일이 위치한 디렉터리에서 docker compose up -d명령어를 실행해줍니다.

 

docker compose up -d

 

docker ps 명령어를 실행하면 컨테이너가 정상적으로 생성된 것을 볼 수 있습니다.

 

 

 

3. nGrinder 접속

{ip}:9000에 접속하면 아래와 같은 화면을 볼 수 있습니다.

 

기본 ID, Password는 admin으로 설정되어 있습니다. 해당 아이디 비밀번호를 입력해 접속합니다.

 

 

우측 상단의 메뉴를 통해서 에이전트 관리(Agent Management) 창에 들어가 agent가 제대로 적용되어 있는지 확인합니다.

 

 

 

4. Script 작성

부하테스트를 진행하기 위해 스크립트를 작성해보겠습니다. 왼쪽 상단 스크립트 -> 만들기 -> 스크립트 만들기 버튼 클릭 후 스크립트를 작성해줍니다.

 

스크립트를 만들면 위와 같은 샘플이 만들어집니다. 이 후 검증(Validation) 버튼을 누르면 해당 경로로 요청이 보내지고 해당 스크립트가 정상적으로 진행되는지 확인할 수 있습니다.

 

스크립트가 정상적으로 진행되면 이제 성능테스트를 진행할 차례입니다.

우측 상단의 성능테스트 -> 테스트 생성버튼을 눌러 성능테스트를 생성해줍니다.

 

위와 같은 작업을 진행하면 아래와 같은 화면이 나오는데 Agent, 사용자 수 등을 설정해준 후 아까 생성했던 스크립트를 선택해 테스트를 진행해줍니다.

 

설정 후 테스트를 진행하면 아래와 같은 결과들을 확인할 수 있습니다.

 

 

반응형

'Backend > 프로젝트' 카테고리의 다른 글

[Spring] 커버링 인덱스를 통한 페이징 성능 개선하기  (0) 2024.12.12
[Spring] Redis 캐시 적용하기  (0) 2024.10.31
[스프링] 토스 간편결제 기능 구현하기  (0) 2024.09.10
Redis 분산 락(Distribution Lock)으로 동시성 문제 해결하기(+ AOP)  (2) 2024.08.18
스프링에서 동시성 문제 해결하기(낙관적 락, 비관적 락)  (0) 2024.08.14
  1. 1. nGrinder란?
  2. 2. docker-compose.yml 파일 작성
  3. 3. nGrinder 접속
  4. 4. Script 작성
'Backend/프로젝트' 카테고리의 다른 글
  • [Spring] 커버링 인덱스를 통한 페이징 성능 개선하기
  • [Spring] Redis 캐시 적용하기
  • [스프링] 토스 간편결제 기능 구현하기
  • Redis 분산 락(Distribution Lock)으로 동시성 문제 해결하기(+ AOP)
여포개발자
여포개발자
여포개발자
어제보다 오늘 더
여포개발자
전체
오늘
어제
  • 분류 전체보기 (141)
    • Backend (41)
      • 프로젝트 (18)
      • MSA 전환 (10)
      • spring (6)
      • JPA (7)
    • JAVA (11)
    • Kotlin 정리 (11)
    • 알고리즘 (59)
      • 프로그래머스 LV0 (5)
      • 프로그래머스 LV1 (12)
      • 프로그래머스 LV2 (17)
      • 프로그래머스 LV3 (8)
      • 백준 (14)
      • 소프티어 (3)
    • 네트워크 (3)
    • Docker (3)
    • SQL (5)
    • Kafka (6)
    • 일상 (1)
    • .NET (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • Spring
  • 프로그래머스
  • #JAVA #프로그래머스 #LV1 #모두화이팅
  • Kotiln
  • 자바 #백준
  • #JPA #JAVA
  • 백준
  • 프로젝트
  • Kotlin
  • #프로그래머스
  • HTTP
  • java
  • 모니터링
  • 티스토리챌린지
  • JPA
  • MSA
  • 오블완
  • JAVA #프로그래머스 #LV0
  • docker
  • TroubleShooting #JPA
  • docker #MySQL
  • #프로그래머스 #자바
  • 네트워크
  • 프로그래머스LV1
  • #JAVA #프로그래머스 #LV1
  • #JAVA #프로그래머스

최근 댓글

최근 글

반응형
hELLO· Designed By정상우.v4.5.2
여포개발자
nGrinder Docker 설치 및 사용방법
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.