Skip to content

성능 개선

llsrrll96 edited this page Mar 1, 2023 · 2 revisions

성능 테스트

담당 : 김주현

nGrinder를 사용하여 특정 API에 부하테스트와 성능 개선을 하였습니다.

테스트 설계

부하테스트 시 서버의 상태를 시각화하여 확인하기 위해 다음과 같은 측정 환경을 구성하였습니다.

페이지내이션의 필요성

결과 데이터 값 : 1만개
TPS : 5.0 --> 67.8

전체 조회 쿼리 사용시 대용량 데이터 처리에 취약함 --> 대용량 데이터를 처리해야하는 상황을 고려해 페이지내이션을 적용합니다.

톰캣 설정

DataSource란 DB처럼 (파일과 같은 물리적 데이터 소스에) 연결할 때 사용하는 인터페이스
HikariCP : 기본 DataSource

maximumPoolSize : Connection Pool 이 가질 수 있는 최대 커넥션 개수, 유휴한 커넥션과 사용중인 커넥션을 모두 포함한 개수
minmumIdle 설정하지않으면 == maximumPoolSize

maxThreads (최대 스레드풀 개수) : 기본값 200 서버 사양에 따라 가장 많이 좌우되는 설정값 직접 성능 테스트를 실행하여 최적의 값을 찾을 필요가 있다