2024. 6. 10. 10:46ㆍProject
⚙️ JMeter를 활용한 대용량 처리 테스트
대용량 처리 테스트를 위해 JMeter 사용이 필요합니다. 아래 과정을 통해 JMeter를 설치할 수 있습니다.
📥 JMeter 설치
- https://jmeter.apache.org/에 접속합니다.
- 좌측 메뉴에서 Download Releases를 클릭합니다.
- Binaries > zip 파일을 다운로드합니다.
- 적당한 위치에 압축을 해제한 후,
bin
폴더에서jmeter.bat
을 실행합니다. - 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: 대용량 처리 시스템 테스트 환경 구현 프로젝트
'Project' 카테고리의 다른 글
대용량 처리 테스트 구현 프로젝트 - 2 (코드 작성) (0) | 2024.06.05 |
---|---|
대용량 처리 테스트 구현 프로젝트 - 1 (개요 및 환경세팅) (0) | 2024.06.05 |