본문 바로가기
IT/개발

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

by Informator7 2024. 4. 8.
반응형

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

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

반응형