Returnz 부하테스트 2

강혜성·2023년 4월 6일
0

분산처리

목록 보기
16/18
import time
from locust import HttpUser, task, between
import json
import random


class QuickstartUser(HttpUser):
    wait_time = between(3, 5)

    # 닉네임 조회 Task
    @task
    def chat_room(self):
        self.client.get("/")
        self.client.post("/api/members/login", json={"username":"moon5@naver.com", "password":"ssafy123!"})
      
    # 게임 생성 Task
    @task
    def game_create(self):
        self.client.get("/")
        self.client.post("/api/games/init", json={"theme":"COVID",
        "turnPerTime":"DAY",
        "startTime":0,
        "totalTurn":10,
        "memberIdList":[1]})
        

    # 게임 진행 Task
    @task
    def game_progress(self):
        list_index = random.randrange(0, len(game_room_list))
        self.client.get("/")
        self.client.post("/api/games/game", json={
        "roomId" : "16cd5b51-789d-4723-80eb-b76b1e7a0dd1",
        "gamerId" : 3021})
  • 게임 진행 시 턴을 넘기지 않도록 설정하고, 부하테스트를 진행했다.
  • 분산 저장을 위해 사용했던 hadoop, spark, zeppeline 등을 stop 시킨 후 진행했다.

AWS EC2 성능

  • xeon 2676v3 Siblings : 4

결과

  • RPS는 22
  • 95% 4500ms되는 구간의 유저수는 99명
  • 게임의 원활한 진행을 위한 시간이 5000ms라고 가정한다면, 최대 103명 까지 가능하다.

0개의 댓글