728x90
반응형
Apache jMeter
Apache JMeter는 서버가 제공하는 성능 및 부하를 측정할 수 있는 테스트 도구이다. JMeter는 순수 Java 애플리케이션 오픈소스이며 서버나 네트워크 또는 개체에 대해 과부하를 시뮬레이션하여 강도를 테스트하거나 다양한 부하 유형에서 전체 성능을 분석하는 데 사용할 수 있다.
비슷한 부하테스트 도구로는 Apache Benchmark, Ngrinder, Pinpoint, Gatling등이 있다. 다음은 Apache JMeter가 가진 특징을 나열한 것이다.
- 다양한 프로토콜 / 서버를 테스트 할 수 있다.
- 웹 : HTTP, HTTPS
- SOAP / REST Web Service
- FTP
- DB
- 사용자 시나리오 모델링
- jMeter는 가상 사용자를 생성하고 웹 애플리케이션에 대한 다양한 사용자 시나리오를 모델링 할 수 있다. 이를 통해 다양한 시나리오에서의 성능을 평가할 수 있다.
- 부하 생성
- JMeter는 대량의 가상 사용자 요청을 생성하여 웹 서버 또는 애플리케이션에 부하를 가할 수 있다. 이를 통해 시스템의 최대 처리량과 응답 시간을 측정할 수 있다.
- 그래프 및 리포트
- JMeter는 성능 테스트 결과를 그래프와 리포트 형태로 시각화하여 제공한다. 이를 통해 테스트 결과를 분석하고 성능 문제를 식별할 수 있다.
- 다중 스레드 지원
- JMeter는 다수의 스레드를 사용하여 동시에 다양한 작업을 수행할 수 있다. 이를 통해 병렬 처리 및 다중 사용자 시나리오를 시뮬레이션할 수 있습니다.
- 스크립팅
- JMeter는 사용자 시나리오를 스크립트로 작성할 수 있으며, 강력한 스크립팅 기능을 제공한다. 이를 통해 복잡한 시나리오를 모델링하고 테스트할 수 있다.
- 분산 테스트
- Meter는 여러 대의 컴퓨터에서 테스트를 분산하여 부하를 생성할 수 있는 기능을 제공한다. 이를 통해 대규모 시스템의 성능을 평가할 수 있다.
주요 개념
- Thread Group: 몇 개의 쓰레드가 동시에 요청을 보내는 지
- Sampler: 어떤 유저가 해야 하는 액션
- Listener: 응답을 받았을 때 어떤 동작을 취하는 지 (검증, 리포트, 그래프 그리기 등)
- Configuration: Sampler 또는 Listener가 사용할 설정 값 (쿠키, JDBC 커넥션 등)
- Assertion: 응답 결과의 성공 여부를 판단하는 조건 (응답 코드, 본문 내용 등)
728x90
반응형