본문 바로가기

API

[부하테스트] Locust란 무엇인가?

728x90
반응형

Locust는 파이썬으로 작성된 오픈 소스 부하 테스트 도구로, 웹 응용 프로그램 및 서비스를 테스트하는 데 사용됩니다. Locust는 사용자 시나리오를 정의하고 각 시나리오에 대한 부하를 생성하는 데 도움이 되며, 이를 통해 시스템이 특정 부하에 대해 어떻게 동작하는지 확인할 수 있습니다.

아래는 Locust를 사용하여 간단한 부하 테스트를 수행하는 과정입니다:

  • Locust 설치: Locust를 설치하려면 터미널 또는 명령 프롬프트에서 다음 명령을 실행합니다
pip install locust
  • Locust 스크립트 작성: Locust 스크립트는 테스트할 웹 애플리케이션의 동작을 정의합니다. 일반적으로 다음과 같은 형식을 가지게 됩니다:
from locust import HttpUser, between, task

class MyUser(HttpUser):
    wait_time = between(1, 5)  # 사용자 간의 대기 시간 (1-5 초 사이)

    @task
    def my_task(self):
        self.client.get("/path/to/endpoint")

 

       MyUser 클래스는 테스트하려는 사용자의 동작을 정의합니다. wait_time은 각 사용자의 요청 간 대기 시간을 설정합니다.

  • Locust 실행: Locust를 실행하려면 터미널 또는 명령 프롬프트에서 다음 명령을 실행합니다:
locust -f your_script_name.py

그런 다음 브라우저에서 http://localhost:8089로 이동하여 Locust 웹 인터페이스에 액세스합니다.

  • 테스트 실행 및 모니터링: Locust 웹 인터페이스에서 사용자 수 및 부하 테스트의 다양한 통계를 모니터링하고 테스트를 시작 또는 중지할 수 있습니다.
  • 결과 분석: 테스트가 완료되면 Locust 웹 인터페이스 또는 출력에서 성능 통계 및 결과를 확인할 수 있습니다.

Locust는 분산 부하 테스트와 같은 고급 기능도 제공하므로 필요에 따라 해당 기능을 활용할 수 있습니다.

Locust와 Jmeter 비교

Locust와 Apache JMeter는 둘 다 부하 테스트를 수행하는데 사용되는 도구이지만, 몇 가지 차이점이 있습니다. 아래는 Locust와 JMeter를 비교하는 몇 가지 주요 측면입니다:

언어 Python Java
사용자 시나리오 정의 코드 기반 GUI 또는 코드 기반
설치 및 시작 pip install locust Java 설치 및 GUI 또는 명령행으로 실행
분산 테스트 마스터-워커 구조 지원 분산 테스트 지원
유연성 및 확장성 Python 코드로 유연성 높음 플러그인 아키텍처로 확장 가능
학습 곡선 Python 개발자에게 친숙 GUI를 사용하는 비전공자도 쉽게 사용 가능

 

용어 소개 : RPS와 TPS란 무엇인가?

https://digitalbourgeois.tistory.com/103

 

RPS와 TPS의 차이점 무엇일까?

RPS와 TPS는 부하 테스트에 사용되는 용어로서, 각각 'Requests Per Second'(초당 요청 수)와 'Transactions Per Second'(초당 거래 수)를 의미합니다. 이 두 용어는 시스템의 성능을 측정하는 

digitalbourgeois.tistory.com

 

728x90
반응형

'API' 카테고리의 다른 글

HTTP3에 대해 알아보기!  (0) 2024.03.11
RPS와 TPS의 차이점 무엇일까?  (0) 2024.01.25
[API] REST API 보안  (0) 2019.01.15
[API] REST API 설계 해보기  (0) 2019.01.09
[API] REST API (특성)  (0) 2018.12.26