대용량 트래픽 과정을 복습하였다.
Locust 는 성능부하 테스트를 위한 tool 이고 Python 언어를 통한 스크립트 작성을 호환한다.
설치는 간단하였다.
pip install locust
# poetry를 사용한다면
poetry add locust
# 설치 확인
locust -V
이렇게 설치를 완료 하고 locustfile.py 에서 간단한 스크립터를 작성해주었다.
from locust import HttpUser, task, between
import random
class MovieServer(HttpUser):
waiting_time = between(1, 1.5)
# def on_start(self):
# self.client.post("/login", json={})
@task
def search(self):
thing = random.choice(["가", "나", "다", "라", "마", "바", "사", "아", "자", "차", "카", "타", "파", "하"])
nation = random.choice(["KOREA", "NETHERLANDS", "TAIWAN", "GERMANY", "DENMARK", "RUSSIA", "MEXICO",
"USA", "BRAZIL", "SPAIN", "UK", "ITALY", "INDIA", "JAPAN", "CHINA", "CANADA", "FRANCE",
"HONGKONG"])
ageLimit = random.choice(["GENERAL", "PG_12", "PG_15", "RESTRICTED"])
page = 1
sort = random.choice(["audience"])
headers = {'Content-Type': 'application/json'}
self.client.get(
url=f"/movies/api/v2/search?thing={thing}&nation={nation}&ageLimit={ageLimit}&page=1&sort={sort}",
headers=headers
)
HttpUser -