개발놀이터

Redis for Client Side Caching으로 응답시간 개선하기 본문

사이드 프로젝트/온라인 쇼핑몰 ver.6

Redis for Client Side Caching으로 응답시간 개선하기

마늘냄새폴폴 2024. 7. 6. 21:05

사이드 프로젝트인 온라인 쇼핑몰에 Redis를 이용해 Client Side Caching을 적용했습니다. 

 

Redis 6에 추가된 RESP3 프로토콜을 사용했고 Redis Client인 Spring Boot에서 CacheFront<K, V> 를 이용해 클라이언트 사이드 캐싱을 구현할 수 있었습니다. 

 

wrk2를 이용해 API 테스트를 진행했습니다. 

 

  • 스레드 개수 : 8개
  • 동시 연결 : 50개
  • 지속 시간 : 60초
  • 초당 요청 수 : 1000개

Redis 응답시간

 

local caching 응답시간

 

성능 개선

동일한 기준에서 테스트를 진행했을 때 Redis를 순수하게 이용했을 때와 local caching을 이용했고, 이로인해 Latency는 평균 80% 최대 130% 개선하였고, throughput은 평균 4% 최대 250% 개선하였습니다.

 

이로 인해 얻은 것

기존 프로젝트에서 RDBMS에서 처리하던 요청을 Redis로 사용하는 것도 성능적인 측면에서 큰 개선을 이뤄냈지만 Redis를 사용하는 것보다 local cache를 사용함으로써 평균적인 성능을 개선할 수 있다는 것에서 크게 놀라게 되었습니다. 

 

서버의 개수를 늘리거나 컴퓨팅 성능을 좋게 만드는 것 이외에 코드를 개선함으로써 서버의 응답시간과 처리량을 늘렸다는 것에서 좋은 공부가 되었습니다. 

 

 

블로그 포스팅

https://coding-review.tistory.com/524

 

Redis for Client Side Caching (이론)

이번 포스팅은 Redis 6부터 제공해주는 신기능 (무려 4년전 기술인 따끈따끈한 신기술입니다.) Redis for Client Side Caching에 대해서 공부해봤습니다.  Client Side Caching사실 이 내용을 공부하게 된 계기

coding-review.tistory.com

https://coding-review.tistory.com/525

 

Redis for Client Side Caching (실습)

전 포스팅에 이어 바로 실습으로 들어가보겠습니다. 전 내용이 궁금하시면 아래의 링크를 참고해주세요! https://coding-review.tistory.com/524 Redis for Client Side Caching (이론)이번 포스팅은 Redis 6부터 제

coding-review.tistory.com