Windows 환경에서 사용할 수 있는 부하 테스트 도구와 명령어를 아래에 정리하였습니다. 각각의 특징과 설치 방법도 함께 제공합니다.


1. Apache JMeter

특징:

  • 가장 널리 사용되는 오픈소스 부하 테스트 도구.
  • HTTP, HTTPS, WebSocket 등 다양한 프로토콜을 지원.
  • GUI 모드와 CLI(Command Line Interface) 모드 제공.

설치 및 사용:

  1. JMeter 공식 사이트에서 다운로드 후 설치.
  2. bin 디렉토리에서 jmeter.bat 실행하여 GUI 실행.
  3. 부하 테스트 스크립트를 생성 후, CLI 모드로 실행: 
    • -n: 비GUI 모드 실행.
    • -t: 테스트 계획 파일(.jmx).
    • -l: 결과 로그 파일.
    • -o: HTML 보고서 생성 디렉토리.
  4.  
    jmeter -n -t 테스트파일.jmx -l 결과파일.jtl -e -o 보고서_디렉토리

2. Artillery

특징:

  • Node.js 기반의 경량화된 부하 테스트 도구.
  • HTTP, WebSocket, Socket.io 등을 지원.
  • YAML로 시나리오 작성 가능.

설치 및 사용:

  1. Node.js 설치 후, Artillery 설치:
    npm install -g artillery
  2. 기본적인 부하 테스트 실행:
     
    artillery quick --count 50 --num 10 http://localhost:3000/api
    • 50명의 사용자가 10회 요청.
  3. 고급 테스트 시나리오 작성:
    • test.yml 작성 예:
      yaml
      config: target: 'http://localhost:3000' phases: - duration: 60 arrivalRate: 10 scenarios: - flow: - get: url: "/api"
    • 실행:
       
      artillery run test.yml

3. k6

특징:

  • 고성능 부하 테스트 도구로, JavaScript로 스크립트 작성.
  • CLI 중심으로 작동하며, 간단한 설치와 사용법.
  • 실시간 결과 제공.

설치 및 사용:

  1. k6 다운로드 페이지에서 Windows용 설치 파일 다운로드.
  2. 간단한 스크립트 작성 (script.js):
    javascript
    import 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); }
  3. 테스트 실행:
     
    k6 run script.js

4. Locust

특징:

  • Python 기반 부하 테스트 도구.
  • 웹 인터페이스로 실시간 결과 확인 가능.
  • 테스트 코드 작성 가능(Python).

설치 및 사용:

  1. Python 설치 후 Locust 설치:
     
    pip install locust
  2. 테스트 스크립트 작성 (locustfile.py):
    python
    from locust import HttpUser, task, between class MyUser(HttpUser): wait_time = between(1, 2) @task def test_api(self): self.client.get("/api")
  3. Locust 실행:
     
    locust -f locustfile.py --host=http://localhost:3000
  4. 브라우저에서 http://localhost:8089 접속 후 테스트 실행.

5. Wrk

특징:

  • 단순하고 빠른 CLI 기반 부하 테스트 도구.
  • HTTP 프로토콜만 지원.
  • 고성능 테스트 가능.

설치 및 사용:

  1. Wrk 공식 사이트에서 Windows용 빌드 다운로드.
  2. 부하 테스트 실행:
    cmd
    코드 복사
    wrk -t4 -c100 -d30s http://localhost:3000/api
    • -t4: 쓰레드 수.
    • -c100: 동시 연결 수.
    • -d30s: 테스트 지속 시간(30초).

6. Postman

특징:

  • GUI 기반의 HTTP 요청 테스트 도구.
  • Postman Collection Runner를 이용해 여러 요청을 시뮬레이션 가능.

사용법:

  1. Postman 설치 및 요청 작성.
  2. Collection Runner를 통해 반복 요청 수행:
    • 요청 반복 횟수와 데이터를 설정하여 부하 테스트.

7. Gatling

특징:

  • Scala 기반의 부하 테스트 도구.
  • 고성능 테스트를 위해 최적화.

설치 및 사용:

  1. Gatling 다운로드 페이지에서 설치.
  2. 기본 테스트 실행:
     
    gatling.sh
  3. 사용자 정의 테스트 작성(Scala 필요).

추천 조합:

  • 간단한 부하 테스트: Artillery, k6
  • 고급 부하 테스트: JMeter, Gatling
  • Python 친화적: Locust
  • 빠른 CLI 테스트: Wrk

+ Recent posts