"제이미터"의 두 판 사이의 차이
잔글 (→같이 보기) |
|||
42번째 줄: | 42번째 줄: | ||
* [[성능관리 솔루션]] | * [[성능관리 솔루션]] | ||
− | + | {{로고 필요}} | |
− | {{솔루션| | + | {{솔루션|검토 필요}} |
2020년 9월 19일 (토) 00:26 판
제이미터(JMeter)란, 아파치(Apache)에서 개발한 오픈소스 성능 테스트 툴로 JVM이 설치되어있는 어떤 환경에서도 구동이 가능하며 데스크톱 환경을 제공하기 때문에 직관적인 인터페이스를 통해 쉽게 사용이 가능하다.
개요
제이미터(JMeter)는 웹 애플리케이션처럼 클라이언트-서버 구조로 된 소프트웨어의 성능 테스트를 위해서 만들어진 100% 순수 자바 프로그램이다. 스테파노 마 조끼가 개발한 것으로, 이는 현재 톰캣(Tomcat)으로 이름이 바뀐 아파 지 제이 서브(Apache JServ)의 테스트를 위한 코드에서 시작되었다. 이후 이 코드에 GUI와 기능을 추가하여 제이미터(JMeter)가 만들어지게 되었다. 제이미터(JMeter)는 단위/성능/스트레스 테스트 등 많은 곳에서 활용할 수 있다. 프로토콜(Protocol)도 계속 추가되어 TCP, HTTP, HTTPS, FTP, JDBC, LDAP, SMTP, SAP 및 XML, RPC 등 현재 범용으로 사용되는 프로토콜 대부분을 지원하고 있다. 제이미터(JMeter)는 통신 프로토콜 단계에서만 동작하고 웹 브라우저에서는 동작하지 않는다. 즉, 통신규약에 맞도록 클라이언트와 서버 간 메시지만 송수신할 뿐이고 클라이언트 자체에서 행해지는 연산 동작은 하지 않는다. 가장 대표적인 예가 ActiveX를 이용하여 암호화나 연산 작업을 하는 사이트이다. 이러한 사이트는 ActiveX 로직을 모두 이해하고 자바를 이용하여 별도로 제이미터(JMeter) 내부 모듈을 구현하지 않는 이상 테스트가 불가능하다. 제이미터(JMeter)는 2001년에 1.0을 발표한 후 10여 년 동안 꾸준히 기능과 성능을 향상하여 2011년에는 Apache Software Foundation에서 Top Level Apache Project에 선정되기도 하였다. 또한, 자바 가상 머신(JVM, Java Virtual Machine)과 H/W의 성능이 향상되면서 초기에 문제가 되던 성능이나 기능 면에서 부족함이 많이 해소되어 현재는 웬만한 성능 테스트에서 핵심으로 활약하기에 부족함이 없는 상태에 도달한 것으로 보인다.[1]
발전 과정
- 제이미터 V1.0 : 1998년 스테파노 마초키(Stefano Mazzocchi)가 톰캣(Tomcat)을 성능 테스트 하기 위해서 만들었다.
- 제이미터 V2.5 : 2011년 최상위 레벨 아파치 프로젝트(Top Level Apache Project)에 선정되었다.
- 제이미터 플러그인 V0.0.1 : 2009년 구글코드(Code.google.com)에 제이미터 플러그인을 배포하였다.
- 제이미터 플러그인 V1.1.1 : 2013년 제이미터 플러그인(jmeter-plugins.org)으로 도메인 주소를 옮겼다.[2]
특징
제이미터는 사용자 수 무제한으로, 라이선스의 수량 제한이 없다. 또한, 몽고디비(MongoDB), 하둡(Hadoop) 추가, 웹소켓(WebSocket)은 곧 반영될 예정이며, 다양한 프로토콜 지원 및 지속적으로 추가하고 있다. 서버 리소스 모니터링은 유닉스(Unix)와 윈도우(Window) 및 매킨토시(Mac)에 대해서 중앙처리장치(CPU), 메모리, 디스크 입출력 등 75가지 성능지표 모니터링이 가능하다. 다양한 플러그인도 제공하며, 기능 테스트와 회귀(Regression) 테스트 등 테스트 자동화 가능이 있다. 스크립트를 작성하고, 젠킨스(Jenkins)와 연동한다. 제이미터는 매킨토시, 유닉스 및 리눅스(Linux), 윈도우 등에서도 동작하며, 자바로 구현 가능하다. 여러 회사에서 유료 성능 테스트 서비스 제공하고 있다.[2]
장점
- 다양한 애플리케이션(APP), 서버(Server), 프로토콜(Protocal)을 지원한다.
- 테스트 IDE의 전체 기능이 있다.
- 커맨드 라인(Command Line)을 지원한다.
- 다이내믹 HTML 레코드(Dynamic HTML report)이다.
- 순수 자바로 구현 가능하다.
- 높은 확장성이 특징이다.[3]
주요 기능
제이미터는 다양한 애플리케이션, 서버, 프로토콜 유형을 로드하고 성능을 테스트하는 기능이 있다. HTTP, HTTPS, SOAP 및 레스트풀(RESTful) 웹 서비스, FTP, 자바 데이터베이스 접속성(JDBC)를 통한 데이터베이스, LDAP, JMS를 통한 메시지 지향 미들웨어, 메일 SMTP, POP3 및 IMAP, 기본 명령과 셸 스크립트, TCP, 자바 객체 등으로 구성된다. 브라우저와 기본 애플리케이션에서 빠른 테스트 계획 기록, 빌드 및 디버깅을 허용하는 완전한 기능의 테스트 IDE이며, 모든 자바 호환 운영체제인 리눅스, 윈도우, 매킨토시 오에스텐(Mac OSX) 등에서 로드테스트를 수행하는 CLI 모드 및 헤드리스 모드이다. 또한, 완전하고 준비된 동적 HTML 보고서이며, 가장 널리 사용되는 응답 형식의 HTML과 제이슨(JSON) 및 XML은 모든 텍스트 형식에서 데이터를 추출하는 기능을 통한 쉬운 상관관계이다. 완벽한 이식성과 순수 자바로 구현가능하다. 제이미터는 전체 멀티 쓰레딩 프레임 워크를 사용하여 여러 스레드에 의한 동시 샘플링과 별도의 스레드 그룹에 의한 여러 기능의 동시 샘플링이 가능하다. 테스트 결과의 캐싱과 오프라인 분석 및 재생기능이 있고, 고도로 확장 가능한 코어여서 플러그 형 샘플러는 무제한 테스트 기능을 허용한다. 또한, 스크립트 가능한 샘플러, 플러그 형 타이머를 사용하여 여러 로드 통계를 선택 가능이 있다. 데이터 분석 및 시각화 플러그인은 뛰어난 확장 성과 개인화를 허용하고, 함수를 사용하여 테스트에 동적 입력을 제공하거나 데이터 조작을 제공 가능하다.[4]
구성요소
각주
- ↑ 12bme, 〈(테스트) JMeter와 성능 테스트〉, 《티스토리》, 2017-10-03
- ↑ 2.0 2.1 STA 테스팅 컨설팅, 〈JMETER 정확히 알고제대로 활용하자〉, 《에스티에이컨설팅》, 2015-04-29
- ↑ 오장일, 〈무료 성능 테스트 프로그램 Jmeter〉, 《네이버 블로그》, 2017-07-03
- ↑ 아파치 제이미터 공식 사이트 - https://jmeter.apache.org/
참고자료
- qjadud22, 〈JMeter 설치 및 성능 테스트〉, 《티스토리》, 2018-11-18
- 12bme, 〈(테스트) JMeter와 성능 테스트〉, 《티스토리》, 2017-10-03
- STA 테스팅 컨설팅, 〈JMETER 정확히 알고제대로 활용하자〉, 《에스티에이컨설팅》, 2015-04-29
- 오장일, 〈무료 성능 테스트 프로그램 Jmeter〉, 《네이버 블로그》, 2017-07-03
- 아파치 제이미터 공식 사이트 - https://jmeter.apache.org/
같이 보기
이 문서는 로고가 필요합니다.