성능테스트 도구 비교(오픈소스)
SW | 기능 | 특징 | 비고 |
---|---|---|---|
JMeter |
* java 기반 오픈소스. * GUI/non-GUI Mode 지원. * 분산테스트 지원(URL) * bamboo 지원 (연동방법) * Thread 기반으로 동시성에 제한이 있음. |
* 여러 프로토콜/플러그인 지원 * 로드러너와 많이 비교됨 * jenkins 연동됨. * BlazeMeter나 Flood.io에서 활용하여 서비스 제공. | |
nGrinder |
* Grinder를 naver에서 확장시킴. * GUI 제공 (스크립트는 groovy나 jython코딩으로) * Thread 기반으로 동시성에 제한이 있음. * 분산테스트 지원(참고 ) |
* 계정관리 기능이 존재함. * 계정별 테스트 스케쥴 및 이력 조회기능 제공. * 현재는 활발한 commit이 없음. |
|
Gatling |
* Akka와 Netty기반의 Scala로 개발됨. * GUI 없으며 시나리오 (DSL) 로 작성 * 분산테스트 미지원. 반면 높은 성능 보장. * 분산지원하는 distGatling프로젝트 존재. |
* Event와 Async IO기반으로 높은 성능 제공.(비교) * JMeter와 비견되는 요즘 신흥강자(비교) * jenkins 콜라보하여 테스트 가능 (Atlassian 자료) | 간단동영상 |
Tsung | * Erlang으로 개발된 툴. * HTTP뿐만 아니라 다양한 프로토콜 제공. * GUI 제공하지 않음. | * 동시성 지향 언어인 Erlang이 가지고 있는 장점으로 성능과 확장성에 이점이 존재 | |
Vegeta | * Go 언어로 개발된 HTTP 부하 테스트 툴(GUI x) | * 초당 일정한 속도로 부하 발생 지속적으로 발생시킴. | |
Goad | * AWS Lambda를 이용한 분산 성능 테스트 | * AWS의 이점과 AWS Lambda를 최대 활용함 | |
Apache Bench | * HTTP 웹 서버의 성능 측정을 위해 사용됨. | * 간단히 테스트해 보기 좋은 툴 |
cf) 오픈소스 테스팅 : 성능테스트와 더불어 다양한 오픈 소스 테스트 툴에 대한 소개 사이트 비교