Skip to content

[BE] 톰캣 튜닝

iamjooon2 edited this page Sep 21, 2023 · 20 revisions

사용자 기준을 어떻게 잡아야 할까?

  • 유사 서비스를 찾아보았습니다 반려동물 관련 업계 1위 : 펫프렌즈

펫프렌즈의 MAU는 약 250만명입니다. 여기서, 1분당 실 사용자를 도출해보면,

image

반올림하여 초당 0.1명의 사용자가 존재함을 알수 있습니다

실험 환경

  • SW: nGrinder
  • HW: AWS EC2 t3.medium
  • 초당 접속 사용자(vUser): 100명
  • 대상 API: 반려동물 식품 조회 API

집사의고민 서비스가 인기가 많아져, 펫프렌즈의 약 1000배인 초당 100명의 사용자가 이용한다고 가정해보았습니다. 사용자의 인지시간은 1초며, 실험 대상 API는 메인 페이지에 있으며 서비스 핵심 기능인 반려동물 식품 조회 API입니다.

성능 테스트 결과

대상 API

톰캣 설정값은 기본값인 상태로 테스트를 진행하였습니다 image

TPS(Transaction per Second)는 약 93 가량이 나왔습니다

먼저 쓰레드 풀 설정값을 변경해보았습니다.

쓰레드 풀을 300으로 증가시킨 후, 테스트를 진행하였습니다 image

TPS는 93.2가 나왔습니다.

다음으로, 쓰레드 풀을 10으로 설정한 후, 테스트를 진행하였습니다 image

TPS는 93.7이 나왔습니다.

다음으로는 대기 큐의 사이즈를 조절해보겠습니다. (기본값은 100입니다) 먼저, 대기 큐의 사이즈를 200으로 설정한 후, 테스트를 진행하였습니다 image

TPS는 94.5가 나왔습니다.

다음으로, 대기큐의 사이즈를 기본값에서 줄여보았습니다. image

TPS는 94.1이 나왔습니다.

Clone this wiki locally