임계값 한계에 도달할 때까지 시스템의 부하를 지속적으로 꾸준히 증가시켜 시스템의 성능을 테스트하는 것이다.
•
nGrinder란 네이버에서 진행한 오픈 소스 프로젝트로 서버의 부하 테스트를 위한 도구 이다.
NGrinder
•
IDE에서 Groovy 스크립트를 개발 및 테스트하고 분산 에이전트에서 실행한다.
•
프로젝트 관리, 모니터링, 결과 관리 및 보고서 관리를 위한 웹 기반 인터페이스를 제공한다.
•
Jython 또는 Groovy 스크립트를 사용하여 테스트 시나리오와 다수의 에이전트를 사용하여 JVM내에서 스트레스를 생성할 수 있다.
JMeter
•
•
GUI를 제공하며 Logic controller라고 불리는 기능은 GUI에서 테스트를 설정할 수 있는 뛰어난 유연성을 제공합니다.
•
다양한 외부 플러그인을 사용하여 기능 확장이 가능합니다.
K6
•
오픈소스 성능테스트 솔루션이다.
•
사용하기가 쉽고, Grafana등과 연동하여 UI를 구성할 수 있다.
•
CLI툴을 사용하여 성능 테스트를 수행한다.
우리팀이 JMeter을 선택한 이유
첫번째. NGrinder 지원 버전 문제
NGrinder 공식 홈페이지 버전 별 문서를 체킹한 결과 3.5.1 버전에 자바 11버전을 지원하는 변경사항이 있었다.
우리팀은 현재 자바 17버전을 사용하고 있으며,
현재 마지막 버전인 3.5.8까지 자바 17버전을 지원한다는 변경사항이 없기 때문에 후보군에 제외했다.
두번째. GUI 지원 여부
NGrinder를 제외한 K6와 JMeter가 남았습니다.
우리팀은 초기 진입 장벽이 낮으며, 시각적으로 이해를 얻기 위해 직관적인 그래픽 사용자 인터페이스(GUI)를 제공하는 도구를 사용하기로 했다.
K6는 CLI 기반 부하테스트 도구이다.
K6 Test Builder라는 GUI가 있긴 하지만 기본적으로 스크립트 코드를 사용해야 하므로 온전한
GUI를 지원한다고 할 수 없습니다.
JMeter GUI
JMeter를 이용하여 Just-Clover 사의 YOUng-Chat 서비스 부하 테스트 진행
•
JMeter 설치
◦
아래 임베드에서 Binaries → zip 다운
◦
apache-jmeter-5.6.3.zip 압축 해제
▪
bin → jmeter.bat(window) or jmeter.sh(mac) 실행
•
JMeter 테스트 파일
◦
다수의 사용자가 채팅을 동시에 여러 개를 보냈을 경우 가정
특이사항