
Python 코드
import random
import json
from locust import HttpUser, task, between
from datetime import datetime, timedelta
class StressTest(HttpUser):
wait_time = between(1, 2)
@task
def view_popup_list(self):
# 랜덤 데이터 생성
name = f"테스트 팝업 {random.randint(1, 1000)}"
category = random.choice(["BAKERY", "CAFE", "FASHION", "GOODS", "BAR", "RESTAURANT", "EXHIBITION"])
start_date = (datetime.now() - timedelta(days=random.randint(1, 30))).strftime('%Y-%m-%dT%H:%M:%S')
end_date = (datetime.now() + timedelta(days=random.randint(1, 30))).strftime('%Y-%m-%dT%H:%M:%S')
stat = "Y"
# PopupSearchCondition 객체를 쿼리 파라미터로 변환
params = {
"pageNo": random.randint(1, 10), # 페이지 번호는 1부터 시작
"searchCondition.name": name,
"searchCondition.category": category,
"searchCondition.startDate": start_date,
"searchCondition.endDate": end_date,
"searchCondition.stat": stat
}
# GET 요청
nick_name = "test" # PathVariable에 사용되는 닉네임
self.client.get(f"/admin/popup/api/{nick_name}", params=params)
성능 테스트 시나리오 - Stress Test
- 사용자 수
- 500
- 게시글 수
- 10만
- 요청 메서드
- GET
- 테스트 시간
- 5분
- 시나리오
- 초당 사용자를 50명씩 늘려 5분동안 테스트

'Spring > 유용한 정보' 카테고리의 다른 글
[Spring] Tomcat Thread Pool (0) | 2025.01.12 |
---|---|
[성능 테스트] 성능 테스트 리팩토링 (0) | 2024.11.19 |
[성능 테스트] 성능 테스트 툴 (0) | 2024.11.18 |
[성능 테스트] 성능 테스트란 (0) | 2024.11.18 |
DB ERD 툴 (0) | 2024.11.12 |