nGrinder vs Jmeter
[2] nGrinder란? (설치 및 부하 테스트 with Docker)
개요
성능 테스트를 위해 오픈소스를 비교해보고 어떤 것을 사용할지 결정하고자 합니다.
성능 테스트는 주로 시스템이 운용 조건(사용자, 네트워크 등)에서 얼마나 안정적일 수 있는지에 대한 평가를 포함합니다.
성능을 평가하기 위한 상위 지표에는 페이지 응답 시간, 네트워크 응답성, 서버 요청 처리속도 및 메모리 소비 패턴이 포함됩니다.
이는 갑자기 사용량이 급증하는 동적 시스템을 개발하기 위한 매우 중요한 요소입니다.
Jmeter란?
Apache에서 만들었으며 순수하게 자바로 만들어진 웹 애플리케이션 성능 테스트 오픈 소스입니다.
GUI를 제공하며 Logic controller라고 불리는 기능은 GUI에서 테스트를 설정할 수 있는 뛰어난 유연성을 제공합니다.
다양한 프로토콜/서버를 테스트할 수 있으며 CLI또한 지원합니다.
다양한 외부 플러그인을 사용하여 기능 확장이 가능합니다.
여러 튜토리얼을 보면 GUI설정을 통해 테스트할 수 있으며 .jmx 파일을 통해 CLI로도 테스트할 수 있습니다.
nGrinder란?
네이버에서 성능 측정 목적으로 개발 된 오픈소스 프로젝트입니다.
Jython, Groovy 두 가지 중 하나를 선택하여 스크립트를 작성합니다.
또한 Junit 기반으로 되어 있어 IDE에서 먼저 확인해보고 디버깅할 수 있습니다.
스크립트를 수정할 수 있어 세밀한 성능 테스트가 가능합니다.
개발자가 교착 상태와 속도 저하를 찾을 수 있도록 구축되었습니다.
nGrinder 사용
- Jmeter보다 보기 좋은 GUI
- Groovy 기반의 테스트 스크립트 작성 가능
- 스크립트 수정으로 세밀한 성능테스트 가능
- 사내에서 사용중
JMeter도 꾸준한 Release와 많은 레퍼런스를 제공하지만 nGrinder를 채택하여 적용해보고자 합니다.
참고자료
https://www.baeldung.com/gatling-jmeter-grinder-comparison
https://naver.github.io/ngrinder/
https://jaehoney.tistory.com/224