기본 검색

⇒ 상품 구매 정보를 저장한 purchase table에서 구매 날짜가 어제이며, 상품 별 총 구매수량이 가장 많은 20개의 상품을 조회한다.

초기 쿼리 테스트

인기 상품 단일 트래픽 처리 (22.88s)

⇒ 한번 조회시 처리시간이 너무 많이 소요되어 TPS 측정 부적합하다.

select pd.product_id, pd.product_name, pd.price from purchase pr
left join products pd on pd.product_id = pr.product_product_id
where DATE_FORMAT(pr.create_at, '%Y%m%d') = '20230608'
group by pr.product_product_id
order by sum(pr.amount) DESC
limit 20;

Untitled

인기상품을 스프링 배치로 사이드에서 조회 후 캐싱한 결과 테스트

스레드 반복횟수 total samples min max error% Throughput
100 5 500 9 61 0.00% 99.7/sec
300 5 1500 8 44 0.00% 290.4/sec
500 10 5000 7 51 0.00% 493.8/sec