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) (0) | 2024.08.18 |
스프링에서 동시성 문제 해결하기(낙관적 락, 비관적 락) (0) | 2024.08.14 |