티스토리 뷰
● LOCUST란?
Locust는 사용하기 쉽고 스크립트 가능하며 확장 가능한 성능 테스트 도구입니다.
Python 코드를 활용하여 개발자가 원하는 서버의 성능 테스트를 진행할 수 있습니다.
이번 문서에서는 기본적인 설치 및 성능 테스트 방법만 진행하여 기본 구조만 익히는것이 목표입니다.
더 자세한 테스트는 커스텀하여 활용할 수 있도록 참조 URL로 대체하겠습니다.
● LOCUST 설치
1. 테스트 스크립트 작성
Locust를 통해 서버 성능을 테스트할 스크립트를 작성합니다.
간단하게 http 로 "/ping" 을 실행하여 서버의 결과를 확인하는 것입니다.
locustfile.py 파일 생성
from locust import HttpUser, task, between
class Quickstart(HttpUser):
wait_time = between(1, 2)
@task(1)
def ping_pong(self):
self.client.get("/ping")
※ 더 자세한 스크립트 작성방법은 아래 링크를 참조해 주세요.(post, get parameter 활용등)
https://mokpolar.tistory.com/12
https://docs.locust.io/en/stable/writing-a-locustfile.html
2. Running in Docker
1번에서 작성한 테스트 스크립트(locustfile.py)와 동일한 경로에 있을 경우 -f /mnt/locust/locustfile.py 옵션
- compose 파일 작성하여 실행
locust-docker-compose.yml
version: '3'
services:
master:
image: locustio/locust
ports:
- "8089:8089"
volumes:
- ./:/mnt/locust
command: -f /mnt/locust/locustfile.py --master -H http://master:8089
worker:
image: locustio/locust
volumes:
- ./:/mnt/locust
command: -f /mnt/locust/locustfile.py --worker --master-host master
$> docker-compose -f locust-docker-compose.yml up --scale worker=2
※ locust docke-compose
https://docs.locust.io/en/stable/running-in-docker.html#docker-compose
3. LOCUST 테스트
성능 테스트를 진행할 host를 정의 후 start를 합니다.
테스트 할 서버가 local에서 실행시에는 ipconfig를 통해 IPv4주소를 입력해 주시고 운영시에는 도메인 주소를 입력하여 성능 테스트를 진행하면 됩니다.