대용량 처리 테스트 구현 프로젝트 - 3 (JMeter 테스트)

2024. 6. 10. 10:46Project

반응형

⚙️ JMeter를 활용한 대용량 처리 테스트

대용량 처리 테스트를 위해 JMeter 사용이 필요합니다. 아래 과정을 통해 JMeter를 설치할 수 있습니다.

📥 JMeter 설치

  1. https://jmeter.apache.org/에 접속합니다.
  2. 좌측 메뉴에서 Download Releases를 클릭합니다.
  3. Binaries > zip 파일을 다운로드합니다.
  4. 적당한 위치에 압축을 해제한 후, bin 폴더에서 jmeter.bat을 실행합니다.
  5. cmd 창과 함께 Apache JMeter 창이 뜨면 실행이 완료된 것입니다.

⚙️ JMeter 설정

1. Thread Group 설정

Test Plan 우클릭 > Add > Threads (Users) > Thread Group을 클릭합니다.

설정 항목 설명
Number of Threads (users) 가상 사용자 (Thread)의 수
Ramp-up period (seconds) 요청 주기 (초)
Loop Count 테스트를 반복하는 횟수, 무한 반복 설정 가능

예: 1000명의 사용자가 1초에 1번씩 계속 요청을 보내는 설정 (초당 1000회 요청)

2. HTTP Request 추가

Thread Group 우클릭 > Add > Sampler > HTTP Request를 클릭합니다.

http://localhost:8080/api/addData를 POST 방식으로 호출하며, Body Data를 함께 보냅니다.

3. HTTP Header Manager 추가

Thread Group 우클릭 > Add > Config Element > HTTP Header Manager를 클릭합니다.

JSON 데이터를 요청하기 위해 header 조건을 추가합니다.

4. 리스너 추가

Thread Group 우클릭 > Add > Listener > Aggregate Graph, Aggregate Result를 클릭합니다.

결과 확인을 위해 두 가지 리스너를 추가합니다.

5. 테스트 실행

상단 재생 버튼을 클릭하여 테스트를 실행합니다.

🧪 테스트 결과

Case 1: 1000 유저 동시 요청 테스트

  • 평균 응답 시간: 313ms
  • 최대 응답 시간: 745ms
  • 에러: 0%

Case 2: 10000 유저 동시 요청 테스트

  • 평균 응답 시간: 1013ms
  • 최대 응답 시간: 3043ms
  • 에러: 0.21%

📊 실시간 데이터 확인

임시로 구현한 React 화면에서 실시간으로 데이터를 받아 확인할 수 있습니다. 또한, Redis에 저장된 데이터도 불러올 수 있습니다.

 

 

 

전체코드는 아래 GitHub를 참고합니다.

GitHub - sonhoil/Largevolume: 대용량 처리 시스템 테스트 환경 구현 프로젝트

GitHub - sonhoil/Largevolume: 대용량 처리 시스템 테스트 환경 구현 프로젝트

반응형