본문 바로가기

부하테스트/Locust

Locust 부하 테스트

728x90
반응형

# Locust를 사용하여 부하 테스트 하기

1. Locust 란?

- Locust는 오픈 소스 부하 테스트 도구로, 사용자가 Python으로 시나리오를 작성하여 웹 애플리케이션의 성능을 측정할 수 있게 해주는 부하테스트 도구이다.

2. 사용방법 및 옵션

- 옵션은 많은데 주요 옵션만 정리하면 아래와 같다.

-f 또는 --locustfile: 이 옵션을 사용하면 locust 파일로 사용할 Python 파일을 지정할 수 있다.
--host: 이 옵션을 사용하면 테스트를 로드하려는 웹사이트의 기본 URL을 지정할 수 있다.
-u 또는 --users: 이 옵션을 사용하면 시뮬레이션할 사용자 수를 지정할 수 있다.
-r 또는 --spawn-rate: 이 옵션을 사용하면 사용자를 생성하는 속도를 지정할 수 있다.
-t 또는 --run-time: 이 옵션을 사용하면 테스트를 실행할 기간을 지정할 수 있다.
--headless: 이 옵션을 사용하면 웹 인터페이스 없이 테스트를 실행할 수 있다.
--csv: 이 옵션을 사용하면 테스트 결과를 저장하기 위해 생성될 CSV 파일의 접두사를 지정할 수 있다.
부하 테스트 위해 필요에 따라 옵션을 결합할 수 있습니다.

3. 설치 방법

- 공식 홈페이지 : https://locust.io/

 

Locust.io

An open source load testing tool. Define user behaviour with Python code, and swarm your system with millions of simultaneous users.

locust.io

- 설치 방법은 아래와 같다.

# install locust
pip install locust

# install check
locust -V

4. 실행 방법

- 예제 코드는 아래와 같다. 파일 명은 locustfile.py로 저장한다.

from locust import SequentialTaskSet, task, between, HttpUser

class UserBehavior(SequentialTaskSet):
    @task
    def workspace_fc(self):
        self.client.get("/admin")

    @task
    def load_test(self):
        self.client.get("/")

class WebsiteUser(HttpUser):
    host = "http://localhost:8080"
    wait_time = between(1, 2)
    tasks = [UserBehavior]

- 실행하기

실행 명령어는 아래와 같다.

locust -f ./locustfile.py

5. 확인

- WEB UI, localhost:8089

6. 결과

결과는 대충 아래와 같이 나온다.

 

- 끝 -

728x90
반응형