📝오늘 공부한 것
- '행동대장' JMeter 테스트
- 커리어톤 참여
- 프로그래머스 문제풀기
📌 성능 테스트 도구 선택하기
다양한 부하테스트 도구들이 있었는데, 그중 JMeter, k6, nGrinder의 장단점을 비교해보며, 어떤 도구를 선택할지 결정하고자 한다.
📍 Apache JMeter
- 부하 테스트 및 성능 측정을 위해서 개발된 100% 순수 자바 애플리케이션
- HTTP를 사용하여 사이트의 부하를 테스트 할 수 있으므로 정적이거나 동적인 자원(파일, 서블릿, 자바객체들, 데이터베이스 등)에 대해서 테스트하는데 사용
장점
- 무료로 사요이 가능하다.
- 아파치에서 개발한 오래된 툴로, 레퍼런스가 많다
- 다양한 프로토콜 지원한다.
- GUI, Email, DB, SSL 등 다양한 기능과 플러그인을 제공한다.
단점
- 결과를 확인할 때 리스너로 만들어 보는데 모니터링이 불편하다.
- 쓰레드 기반이라 성능제약이 있을 수 있다.
📍 nGrinder
네이버에서 만든 오픈 소스
- 장점
- 설치만 하면 사용하기 쉽다.
- 예약, 모니터링, ramp up, 스크립트 기능을 지원한다.
- docker에서 사용 가능하다
- 단점
- agent와 controller를 각자 실행해야된다.
- Thread 기반으로 구현되어 있어 성능과 동시성에 대해 제한이 있다고 한다.
- 그래프를 합치지 못해서 데이터 시각화하는데 불편함이 존재한다.
📍 k6
Grafana Labs에서 만든 오픈소스 부하 테스트 도구
장점
- 시나리오 기반 테스트가 가능하다.
- 동시 접속자 수, 요청 간격, 최대 처리량 등 부하 조정이 가능하다.
단점
- 클라우드로 테스트 실행 시 50회 이전까지는 무료이지만, 그 이후로는 유료이다. (CLI로 실행하면 무료)
- Javascript로 코드를 작성해야 한다.
테스트 타입을 지원하는지, 프로토콜을 지원하는지, 레퍼런스가 많은 지, GUI가 제공이 되는지, 비용은 어떤지 등의 기준들을 통해 도구를 선택해보았다.
테스트 타입을 지원하는지 : JMeter, k6, nGrinder
프로토콜을 지원하는지 : JMeter, k6, nGrinder
레퍼런스가 많은 지 : JMeter, k6, nGrinder
GUI가 제공이 되는지 : JMeter,k6, nGrinder
비용은 어떤지 : JMeter,k6, nGrinder
⭐ 최종적으로는 설치와 사용방법이 쉽고, 최근까지 유지보수가 이루어지고 있으며 레퍼런스들이 많은 Apache JMeter를 선택하였다.
References :
'TIL(Today I Learned)' 카테고리의 다른 글
TIL-231108(부하테스트 목표설정) (0) | 2023.11.08 |
---|---|
TIL-231107(MySQL 더미데이터 생성) (0) | 2023.11.07 |
TIL-231104(성능테스트 진행 목적) (0) | 2023.11.04 |
TIL-231103(성능테스트란 무엇인가) (0) | 2023.11.03 |
TIL-231102(동기와 비동기) (1) | 2023.11.02 |