Apache JMeter란
부하테스트와 성능 측정을 위한 소프트웨어로 100% 순수 자바 어플리케이션 오픈소스이다.
정적 및 동적 자원, 웹 동적 애플리케이션 모두에서 성능을 테스트하는 데 사용할 수 있다.
서버, 서버 그룹, 네트워크 또는 개체에 대한 과부하를 시뮬레이션하여 강도를 테스트하거나 다양한 부하 유형에서 전체 성능을 분석하는 데 사용할 수 있다.
Apache JMeter 기능
- 다양한 애플리케이션/서버/프로토콜 유형 로드 및 성능 테스트 :
- 웹-HTTP, HTTPS(자바, NodeJS, PHP, ASP.NET 등)
- SOAP / REST 웹 서비스
- FTP
- JDBC를 통한 데이터베이스
- LDAP
- JMS를 통한 메시지 지향 미들웨어(MOM)
- 메일 - SMTP(S), POP3(S) 및 IMAP(S)
- 기본 명령 또는 셸 스크립트
- TCP
- 자바 객체
- 빠른 테스트 계획 기록(브라우저 또는 기본 애프릴케이션에서), 빌드 및 디버깅을 허용하는 완전한 기능을 갖춘 테스트 IDE
- 모든 Java 호환 OS(Linux, Window, Mac OSX, ...)에서 테스트를 로드하기 위한 CLI 모드(명령줄 모드(비 GUI)/헤드리스 모드)
- 동적 HTML 보고서를 제시할 수 있는 완전하고 준비된 보고서
- 가장 인기 있는 응답 형식, HTML, JSON, XML 또는 모든 텍스트 형식에서 데이터를 추출하는 기능을 통한 손쉬운 상관 관계
- 완벽한 이식성과 100% 자바 순도
- 완전한 멀티스레딩 프레임워크는 많은 스레드에 의한 동시 샘플링과 별도의 스레드 그룹에 의한 다른 기능의 동시 샘플링을 허용
- 테스트 결과 캐싱 및 오프라인 분석/재생
- 확장성이 뛰어난 코어 :
- Pluggable Sampler는 무제한 테스트 기능을 허용
- 스크립트 가능한 샘플러(Groovy 및 BeanShell과 같은 JSR223 호환 언어)
- 플러그형 타이머를 사용하여 여러 로드 통계 선택 가능
- 데이터 분석 및 시각화 플러그인을 사용하면 개인화, 뛰어난 확장 가능
- 함수를 사용해 테스트에 동적 입력을 제공하거나 데이터 조작 제공 가능
Apache JMeter 설치
JMeter 설치를 위해서는 Java 8 이상의 환경이 필요하다.
만약 Java가 설치되어 있지 않거나, Java 8보다 아래의 버전이라면 Java 8 이상의 버전을 먼저 설치해준다.
그 다음 Apache JMeter 페이지에서 자신의 운영체제에 맞는 파일을 다운로드 한다.
MacOS에서는 아래와 같은 brew 명령어를 이용해 간단하게 설치가 가능하다.
brew install jmeter
Or
brew install jmeter —-with-plugins
파일을 다운로드 했다면 다운로드 경로에, brew 명령어를 사용해 설치했다면 /opt/homebrew/Cellar/ 경로에 JMeter가 설치되었을 것이다.
만약 Window 환경이라면 /bin/ApacheJMeter.jar로, MacOS 환경이라면 Terminal에서 jmeter 명령어 입력을 통해서 JMeter 소프트웨어를 실행시킬 수 있다.
JMeter는 Test Plan 아래에 여러 개의 Thread Goup(User)을 등록하고, Thread 하위에 여러가지 Sampler, Timer, Logic Controller를 이용해서 테스트 환경을 구성할 수 있다. Test Plan은 .jmx라는 파일로 저장할 수 있기 때문에 재사용이 용이하다.
그 외에도 Option>Plugins Manager를 이용하면 다양한 플러그인을 끌어와서 사용할 수 있다.
Top 10 Plugin 참고
Installed Plugins은 설치한 Plugins, Available Plugins는 설치 가능한 Plugins이 나타난다.
이외에도 직접 Plugins 파일을 다운 받아 ~/lib 환경에 넣어주는 방법이 있다.
JMeter를 이용한 부하/성능 테스트를 통한 JMeter 사용 예제는 다른 게시물로 정리해보도록 한다.
참고자료:
'BackEnd > Server' 카테고리의 다른 글
[Telegraf + InfluxDB] System Metric Information Monitoring1 (0) | 2021.08.06 |
---|---|
[JMeter] Apache JMeter Sampler 종류 (0) | 2021.08.03 |
[Git] Github 저장소 미러링하기 (0) | 2021.06.02 |
[Git] 프로젝트 내부 코드 라인 수 조회하기 (0) | 2021.05.27 |
[Docker] MYSQL Database 로컬 위치로 백업하기 (0) | 2021.05.18 |
댓글