IT/개발

Python Locust - 서버 부하테스트(웹사이트 부하 테스트를 위한 강력한 도구)

jeces1 2024. 4. 8. 17:24
728x90
반응형

Locust란 무엇인가?

Locust는 웹사이트나 API의 부하 테스트를 위한 오픈 소스 Python 라이브러리입니다. 사용자 정의 가능한 스크립트를 통해 실제 사용자 행동을 시뮬레이션하여 시스템 성능 및 안정성을 평가할 수 있습니다.

Locust의 주요 특징

  • 간편한 사용: Python 코드를 사용하여 테스트 스크립트를 작성하기 때문에 프로그래밍 경험이 있는 사용자라면 누구나 쉽게 사용할 수 있습니다.
  • 확장성: 수백만 개의 동시 사용자를 시뮬레이션하여 대규모 시스템의 부하를 테스트할 수 있습니다.
  • 분산 실행: 여러 컴퓨터에서 테스트를 실행하여 더욱 강력한 부하 테스트를 수행할 수 있습니다.
  • 웹 기반 UI: 실시간으로 테스트 결과를 모니터링하고 분석할 수 있는 웹 기반 UI를 제공합니다.

Locust 사용 방법

  1. Locust 설치:
pip install locust

실행

테스트 스크립트 작성:

from locust import HttpLocust, TaskSet, task

class MyLocust(HttpLocust):
    task_set = MyTaskSet

class MyTaskSet(TaskSet):
    @task
    def index(self):
        self.client.get("/")

    @task
    def login(self):
        self.client.post("/login", data={"username": "user", "password": "password"})

 

Locust 실행:

command : locust -f main.py

http://localhost:8089/ 에서 웹 UI를 사용하여 테스트 결과를 실시간으로 모니터링하고 분석

해당 URL로 접속해보면

Number of users : 동시접속하는 유저 수

Spawn rate : 동시접속 유저 수의 시작점(증가)

Host : 테스트할 서버 URL

입력 후 Start

위와 같은 결과값을 얻을 수 있다.

728x90
반응형