Coding/Back-end

[JMeter] kafka 테스트 툴 | 성능 및 부하테스트

왓츠뉴 whatsnew 2025. 1. 15. 17:53
반응형

사용목적 : JMeter를 이용하여 서버 연동을 확인하고, Kafka Produce를 진행한다.

1. JMeter 설치
https://jmeter.apache.org/download_jmeter.cgi
apache-jmeter5.5.zip 다운로드

2. plug-in 설치
플러그인 사이트 : https://jmeter-plugins.org/

[kafka 플러그인] 첨부파일 di-kafkameter-1.0.jar, original-di-kafkameter-1.0.jar
apache-jmeter-5.5/lib/ext 경로에 플러그인 파일을 넣고 JMeter 재실행 시 플러그인이 자동으로 추가됩니다.
plugin출처 : https://github.com/rollno748/di-kafkameter#readme

3. JMeter 실행
실행파일 : apache-jmeter-5.5/bin/jmeterw.cmd

4. 기본설정
- Thread Group : Test Plan 하위에 자식노드 Thread Group 추가(Test Plan 항목에서 우클릭, 

Threads(Users)->Thread Group


- 그룹목록구성

 

- Summary Report : 요청개수, 성공, 에러 발생 결과를 확인할 수 있습니다

 

요청 실패시 아래와 같이 빨간방화벽 아이콘으로 표시됩니다

 

 

5. 서버연동 테스트환경
- HTTP Request : 서버 IP / PORT / PATH 등을 입력하고, parameter 형식이나 직접 json 메세지를 입력하는 방식으로 HTTP 요청을 보낼 수 있습니다.

 

View Results Tree에서 요청전문/응답전문을 확인할 수 있습니다.

 

6. kafka produce 테스트환경
- KafkaProducerConfig : application.yml의 kafka 설정값을 이용하여 셋팅 

 

- KafkaProducerSampler : consume할 메세지 body를 작성합니다

 

 

- Random Variable : 랜덤스트링을 설정할 수 있습니다. (Variable Name을 KafkaProducerSampler의 body에 적어줍니다)

 

View Results Tree에서 kafka 요청전문/응답전문을 확인할 수 있습니다.

 

 

7. 요청주기 설정 - Constant Timer

 

- 사용하지 않을때는 우클릭-Disable로 비활성화 시킵니다

 

 


- Thread group - Duration (seconds) :
Scheduler를 체크했을때만 사용가능. Thread Properties의 총작업을 하는 시간을 의미한다. 예를들어 100초를 정하면 위의 작업을 딱 100초동안 실행한다.
100초안에 걸리는 작업이면 조기에 정지되지만 위의 작업이 100초를 넘어간다면 더이상 실행하지 않고 멈춘다.


infinite 로 실행하되 duration 을 설정하면 그 시간만큼만 실행하고 끝난다
요청당 간격은 Constant Timer로 설정하고, 시간만큼만 실행은 Duration으로 설정합니다

728x90
반응형