nGrinder 부하테스트

cosmos·2024년 2월 21일
0

기타 IT 관련

목록 보기
1/1

nGrinder 세팅 및 nGrinder를 활용한 부하테스트 방식 정리 문서.

개발 환경

  • Window
  • ngrinder-3.5.5-p1 ver
  • ngrinder-agent-3.5.5-p1-localhost.tar ver

nGrinder란?


nGrinder란?
→ 네이버에서 개발한 오픈소스 프로젝트
→ 부하테스트를 위한 플랫폼으로 웹 애플리케이션 Controller와 자바 애플리케이션 Agent로 구성.
→ 웹 애플리케이션을 서비스하기 전에, 서버가 얼마나 많은 사용자를 수용할 수 있는지 요청을 전송해봄으로써 서버의 성능을 측정해볼 수 있다.
→ 클라우드 환경에서도 실행 가능하며, jython 또는 Groovy 같은 스크립트 언어를 사용하여 스크립트를 작성한다

nGrinder 관련 용어 정리


  • TPS (Transcations Per Second)
    • 초당 처리가능한 트랜잭션 수
    • ex TPS가 100이면 초당 처리 할 수 있는 작업이 100이라고 생각해도 된다.
  • Vuser (Virtual User)
    • 가상 사용자
    • ex 가상 사용자 수를 10으로 설정하면 부하 테스트 시나리오에서 10명의 가상 사용자가 동시에 시스템 또는 애플리케이션에서 동작하고 있다는 것을 의미.
  • server(collector): Agent가 전송한 데이터 수집/처리
  • agent.host: OS의 CPU, Memory, Disk 등의 성능 정보 전송
  • agent.java: 실시간 서비스 성능 정보, Heap Memory, Thread 등 Java 성능 정보
  • agent.java_6_7: for java6, java7
  • agent.batch: 배치 잡 모니터링
  • webapp: Rest API 독립 서버, server에 embedded로 실행 가능.

  • TPS: 평균 TPS
  • Peak TPS: 최고 TPS
  • Mean Test Time: 평균 테스트시간
  • Executed Tests: 테스트 실행 횟수
  • Successful Tests: 테스트 성공 횟수
  • Errors: 에러 횟수
  • Run Time: 테스트 실행시간
ControllerAgent
`성능 측정을 위한 웹 인터페이스 제공에이전트 모드에서 실행할 때, 대상 시스템에 부하를 주는 프로세스 및 스레드를 실행
테스트 프로세스 조정모니터 모드에서 실행 시, 시스템 성능(CPU/메모리) 모니터링
테스트 통계를 수집하고 표시
스크립트 수정 기능 제공

nGrinder 설치 및 세팅



→ ngrinder-controller-3.5.5-p1.war 다운.

→ ngrinder-controller-3.5.5-p1.war 파일이 있는 디렉토리 경로로 이동.

→ 터미널: java -jar ngrinder-controller-3.5.5-p1.war --port=8300 명령어 실행.

http://localhost:8300/ URL 접속

  • 초기 ID: admin
  • 초기 PW: admin

    → 에이전트 다운로드 클릭
    → ngrinder-agent-3.5.5-p1-localhost.tar 압축 풀기 및 에이전트 실행.
  • (MAC) ./run_agent.sh
  • (WINDOW) ./run_agent.bat

    -> 에이전트 관리 클릭

    -> 에이전트 정상 실행 확인

Script 생성 및 성능테스트 수행



→ 스크립트 탭 >만들기 버튼 클릭.

주의: 로컬호스트 URL 입력 시, localhost 형식이 아닌 127.0.01 형식으로 넣어주어야 합니다.

  • 스크립트 종류
    • Groovy
    • Groovy (Legacy)
    • Jython
    • Groovy Gradle Project

      -> 검증 > 저장 클릭

      -> 성능 테스트 > 테스트 생성 클릭.



      -> 캐시 적립예약 승인처리 API 개발계 테스트 결과 확인
      -> 부하테스트 상세 로그도 파일로 다운로드 받을 수 있다는 장점이 있습니다.

참고 자료 (출처)


https://naver.github.io/ngrinder/
https://github.com/naver/ngrinder/releases
https://github.com/naver/ngrinder

0개의 댓글