Windows 환경에서 사용할 수 있는 부하 테스트 도구와 명령어를 아래에 정리하였습니다. 각각의 특징과 설치 방법도 함께 제공합니다.
1. Apache JMeter
특징:
- 가장 널리 사용되는 오픈소스 부하 테스트 도구.
- HTTP, HTTPS, WebSocket 등 다양한 프로토콜을 지원.
- GUI 모드와 CLI(Command Line Interface) 모드 제공.
설치 및 사용:
- JMeter 공식 사이트에서 다운로드 후 설치.
- bin 디렉토리에서 jmeter.bat 실행하여 GUI 실행.
- 부하 테스트 스크립트를 생성 후, CLI 모드로 실행:
- -n: 비GUI 모드 실행.
- -t: 테스트 계획 파일(.jmx).
- -l: 결과 로그 파일.
- -o: HTML 보고서 생성 디렉토리.
-
jmeter -n -t 테스트파일.jmx -l 결과파일.jtl -e -o 보고서_디렉토리
2. Artillery
특징:
- Node.js 기반의 경량화된 부하 테스트 도구.
- HTTP, WebSocket, Socket.io 등을 지원.
- YAML로 시나리오 작성 가능.
설치 및 사용:
- Node.js 설치 후, Artillery 설치:
npm install -g artillery
- 기본적인 부하 테스트 실행:
artillery quick --count 50 --num 10 http://localhost:3000/api
- 50명의 사용자가 10회 요청.
- 고급 테스트 시나리오 작성:
- test.yml 작성 예:
yamlconfig: target: 'http://localhost:3000' phases: - duration: 60 arrivalRate: 10 scenarios: - flow: - get: url: "/api"
- 실행:
artillery run test.yml
- test.yml 작성 예:
3. k6
특징:
- 고성능 부하 테스트 도구로, JavaScript로 스크립트 작성.
- CLI 중심으로 작동하며, 간단한 설치와 사용법.
- 실시간 결과 제공.
설치 및 사용:
- k6 다운로드 페이지에서 Windows용 설치 파일 다운로드.
- 간단한 스크립트 작성 (script.js):
javascriptimport http from 'k6/http'; import { check, sleep } from 'k6'; export let options = { vus: 10, // 가상 사용자 수 duration: '30s', // 테스트 지속 시간 }; export default function () { let res = http.get('http://localhost:3000/api'); check(res, { 'status is 200': (r) => r.status === 200 }); sleep(1); }
- 테스트 실행:
k6 run script.js
4. Locust
특징:
- Python 기반 부하 테스트 도구.
- 웹 인터페이스로 실시간 결과 확인 가능.
- 테스트 코드 작성 가능(Python).
설치 및 사용:
- Python 설치 후 Locust 설치:
pip install locust
- 테스트 스크립트 작성 (locustfile.py):
pythonfrom locust import HttpUser, task, between class MyUser(HttpUser): wait_time = between(1, 2) @task def test_api(self): self.client.get("/api")
- Locust 실행:
locust -f locustfile.py --host=http://localhost:3000
- 브라우저에서 http://localhost:8089 접속 후 테스트 실행.
5. Wrk
특징:
- 단순하고 빠른 CLI 기반 부하 테스트 도구.
- HTTP 프로토콜만 지원.
- 고성능 테스트 가능.
설치 및 사용:
- Wrk 공식 사이트에서 Windows용 빌드 다운로드.
- 부하 테스트 실행:
cmd코드 복사wrk -t4 -c100 -d30s http://localhost:3000/api
- -t4: 쓰레드 수.
- -c100: 동시 연결 수.
- -d30s: 테스트 지속 시간(30초).
6. Postman
특징:
- GUI 기반의 HTTP 요청 테스트 도구.
- Postman Collection Runner를 이용해 여러 요청을 시뮬레이션 가능.
사용법:
- Postman 설치 및 요청 작성.
- Collection Runner를 통해 반복 요청 수행:
- 요청 반복 횟수와 데이터를 설정하여 부하 테스트.
7. Gatling
특징:
- Scala 기반의 부하 테스트 도구.
- 고성능 테스트를 위해 최적화.
설치 및 사용:
- Gatling 다운로드 페이지에서 설치.
- 기본 테스트 실행:
gatling.sh
- 사용자 정의 테스트 작성(Scala 필요).
추천 조합:
- 간단한 부하 테스트: Artillery, k6
- 고급 부하 테스트: JMeter, Gatling
- Python 친화적: Locust
- 빠른 CLI 테스트: Wrk
'java 언어 > Node.Server' 카테고리의 다른 글
각 에러 메시지에 대해 필요한 NuGet 패키지 (0) | 2024.12.25 |
---|---|
아파트 리스트대한 네이버부동산 매매호가, 상한,하한 크롤링(안양) (1) | 2024.12.24 |
실시간 Push 데이타 적용(Index.HTML) (0) | 2024.12.20 |
체결데이타 HHMM으로 그룹화 HTML(feat 서버파트처리) (0) | 2024.12.14 |
유사 종목명에 대한 종목코드 처리(팝업이용) (0) | 2024.12.10 |