본문으로 건너뛰기
AIDevOps
  • Learn
  • Learning Paths
  • Practice
  • Open Source
  • Books
  • Engineering

    AI DevOpsAI 서비스 개발·운영 전체 지도LLMOpsLLM 배포·평가·관측실전 프로젝트AI Agent 프로젝트 실습

    Knowledge

    Docs기술 문서 모음Blog엔지니어링 아티클Plogger개발 기록 피드

    Validate

    Certification3단계 역량 인증 · 준비 중
AI Models
LlamaMistralGemmaDeepSeekQwen
🧪 검증
k6JMeternGrinder
🤖 AI 실전 개발
AI 실전 입문 & 로드맵Hugging FaceLangChainLlamaIndexLLMOps|LangGraphMCPMulti-AgentAgent Evaluation
🧠 AI Core
AI 입문 & 로드맵ML FundamentalsLLM Fundamentals|Python AIC++|PyTorchTensorFlowJAX
🧠 AI Agent 개발
금융 AI AgentLLM API 서버주식 투자 AgentAIOps AI Agent교육 AI Agent코딩 AI Agent
🌱 Spring Cloud
Spring 입문 & 로드맵Spring Cloud GatewaySpring BootJava|Spring AISpring SecuritySpring BatchSpring JPA
🐳 DevOps
DevOps 입문 & 로드맵LinuxDockerCI/CD|Kubernetes 기본K8s 심화/실무PrometheusGrafana
🧱 인프라
인프라 입문 & 로드맵NginxRedis
☁️ 클라우드
클라우드 입문 & 로드맵AWSGCPAzureNCPCloudflare
🎨 Frontend
Frontend 입문 & 로드맵JavaScriptTypeScript|ReactNext.js|VueNuxt
📱 Mobile
Mobile 입문 & 로드맵KotlinAndroidFlutter
⚙️ Backend
Backend 입문 & 로드맵Python 기본FastAPIDjangoFlask|CGoGinNode.js
💾 Database
DB 입문 & 로드맵공통 SQLOracleMySQLPostgreSQL|MongoDB벡터 DB
AIDevOps

Engineering AI. From Code to Production.
AI와 AI Agent를 개발하고 운영하기 위한 엔지니어링 학습 플랫폼

Learn

  • 전체 가이드
  • Learning Paths
  • Practice
  • Books

Resources

  • AI DevOps
  • LLMOps
  • 실전 프로젝트
  • Docs
  • Blog
  • Plogger
  • Open Source
  • Certification (준비 중)

Start Here

  • AI Core 로드맵
  • AI 실전 개발 로드맵
  • Spring Cloud 로드맵
  • DevOps 로드맵
  • 인프라 로드맵

 

  • 클라우드 로드맵
  • Frontend 로드맵
  • Mobile 로드맵
  • Backend 로드맵
  • Database 로드맵
© 2026 AI DevOps Korea. All rights reserved.
이용약관개인정보처리방침Sitemaptestforge.kr
부하 테스트 가이드

🌐 nGrinder 완전 가이드

Visitors

nGrinder는 네이버가 개발한 오픈소스 분산 부하 테스트 플랫폼입니다. 웹 UI 기반으로 Controller와 Agent를 관리하고, Groovy/Jython 스크립트로 복잡한 시나리오를 손쉽게 구성할 수 있습니다.

← AI DevOps 홈으로
🌐

nGrinder 실전 예제

Controller-Agent 구성, Groovy 스크립트, Docker 배포 예제 모음.

실전 예제 보기 →

목차

0 / 7
  1. nGrinder란?
  2. 아키텍처
  3. Docker로 설치
  4. Groovy 스크립트 작성
  5. 테스트 실행
  6. 모니터링 & 리포트
  7. 실전 팁
목차 7개 섹션
  1. nGrinder란?
  2. 아키텍처
  3. Docker로 설치
  4. Groovy 스크립트 작성
  5. 테스트 실행
  6. 모니터링 & 리포트
  7. 실전 팁

nGrinder란?

nGrinder는 Naver가 Grinder 프레임워크를 기반으로 개발한 엔터프라이즈급 분산 부하 테스트 플랫폼입니다. 국내 대형 서비스들의 성능 검증에 사용됩니다.

특징설명
웹 UI브라우저에서 테스트 설계 · 실행 · 모니터링
분산 아키텍처Controller + 다수 Agent로 대규모 부하 생성
Groovy/JythonJVM 기반 스크립트로 복잡한 시나리오 구성
스크립트 레코딩HTTP 프록시로 실제 사용자 행동 자동 녹화

아키텍처

  • Controller: 웹 UI 제공, 테스트 스케줄링 및 결과 집계
  • Agent: 실제 부하를 발생시키는 워커 프로세스
  • Target Server: 테스트 대상 서버

하나의 Controller에 여러 Agent를 연결하여 수평 확장이 가능합니다.

Docker로 설치

docker-compose.ymlYAML
version: '3'
services:
  controller:
    image: ngrinder/controller:3.5.9
    ports:
      - "8080:8080"
      - "16001:16001"
      - "12000-12009:12000-12009"
    volumes:
      - ./ngrinder-home:/opt/ngrinder-controller

  agent:
    image: ngrinder/agent:3.5.9
    links:
      - controller
    environment:
      - CONTROLLER_ADDR=controller
BASH
docker-compose up -d
# http://localhost:8080 접속
# 기본 계정: admin / admin
💡

Agent를 여러 개 실행하려면 agent 서비스를 scale out 하세요: docker-compose up --scale agent=3 -d

Groovy 스크립트 작성

BasicTest.groovyGROOVY
import static net.grinder.script.Grinder.grinder
import static org.junit.Assert.*
import static org.hamcrest.Matchers.*
import net.grinder.script.GTest
import net.grinder.plugin.http.HTTPRequest
import net.grinder.plugin.http.HTTPPluginControl

def test1 = new GTest(1, "API Test")
def request = new HTTPRequest()

test1.record(request)

class TestRunner {
  public void __call__() {
    def response = request.GET("https://httpbin.org/get")

    assertThat(response.statusCode, is(200))
    grinder.logger.info("Response: ${response.text}")
  }
}

POST 요청 + JSON 바디

GROOVY
import net.grinder.plugin.http.HTTPRequest
import HTTPClient.NVPair

def request = new HTTPRequest()
def headers = [new NVPair("Content-Type", "application/json")] as NVPair[]

class TestRunner {
  void __call__() {
    def body = '{"username": "user1", "password": "pass1"}'
    def response = request.POST(
      "https://api.example.com/login",
      body.bytes,
      headers
    )
    assert response.statusCode == 200
  }
}

테스트 실행

  1. Script 메뉴에서 스크립트 업로드 또는 작성
  2. Performance Test 메뉴에서 New Test 클릭
  3. Agent 수, VUser/Agent, 테스트 시간 설정
  4. 스크립트 선택 후 Start Test 클릭

테스트 실행 중 실시간으로 TPS, 평균 응답시간, 에러율을 모니터링할 수 있습니다.

모니터링 & 리포트

테스트 완료 후 자동으로 HTML 리포트가 생성됩니다. 주요 지표:

  • TPS (Transactions Per Second): 초당 처리 트랜잭션 수
  • Mean Time: 평균 응답시간 (ms)
  • Peak TPS: 최대 TPS
  • Error Rate: 에러율 (%)

실전 팁

ℹ️

Agent 메모리 조정: Agent 설정에서 -Xms512m -Xmx1024m으로 JVM 힙을 늘려 더 많은 VUser를 처리하세요.

⚠️

Controller와 Agent, Target Server를 같은 머신에 두면 정확한 결과를 얻을 수 없습니다. 반드시 분리하세요.