JAVA/프로젝트

성능 테스트 - Locust 설치, 이론

whyHbr 2024. 11. 20. 15:41
728x90
반응형

intelliJ - new Projdct 에서 python 을 택한다.

terminal 창에서

pip install locust

 

 locust 는 vscode Installer가 없으면 설치되지 않는다. 설치 후 진행. 

 

스크립트를 작성한다. 

from locust import HttpUser, task, between
import random


class AddPosts(HttpUser):
  wait_time = between(1, 2)

  def on_start(self):
    self.client.post("/members/sign-in", json={
      "memberId":"member",
      "password": "1234"
    })

  @task
  def add_post(self):
    self.client.post("/posts", json={
      "name": "테스트 게시글" + str(random.randint(1, 100000)),
      "contents": "테스트 컨텐츠" + str(random.randint(1, 100000)),
      "categoryId": random.randint(1, 10),
      "fileId": random.randint(1, 10),
      "tags":[
        {
          "name":"tag1",
          "url":"https://"
        },
        {
          "name":"tag2",
          "url":"https://"
        }
      ]
    })

wait_time: 각 스레드별 1~2초 사이의 여유 시간을 둠.

def: 메서드를 지정하는 문법

on_start: 시작할 때 한 번만 실행. 회원 정보를 제이슨 형식으로 넣어준다.

@task: locust가 실행될 때 스레드 단위

add_post 에는 실제 보낼 데이터, 요청을 작성하면 된다.

 

요청되는 데이터를 모니터링 할 수 있다. 

728x90