[Spring Boot] WebSocket 을 사용하여 채팅 서비스 구현하기(4) - 채팅 서비스 성능 개선 및 부하 테스트
·
Back-End/Spring
들어가며야구 직관 서비스 CATCH-Mi 프로젝트에서 실시간 채팅 서비스를 구현한 경험을 기록하고 복습하기 위해 본 글을 작성합니다. 이번 포스팅에서는 현재 CATCH-Mi 채팅 서비스의 문제점과 잠재적인 장애 요소를 고민하고, 이에 대한 성능 개선 과정과 Jmeter를 통한 성능 테스트 결과를 비교해 보겠습니다. SpringBoot와 웹소켓을 통해 채팅 서비스 구현과정이 궁금하신 분은 이전 글을 참고해 주세요! [Spring boot] WebSocket 을 사용하여 채팅 서비스 구현하기(3) - STOMP를 사용하여 실시간 채팅 구현 (비들어가며야구 직관 서비스 캐치미 프로젝트에서 실시간 채팅 서비스를 구현한 내용을 기록 및 복습의 목적으로 본 글을 포스팅합니다. 이번 포스팅에서는 STOMP 프로토콜..
[Spring boot] Redis Cache를 적용한 조회 성능 개선
·
Back-End/Spring
들어가며현재 진행 중인 프로젝트의 채팅 기능에서 채팅 내역 조회가 빈번하게 발생하고 있습니다. 사용자가 매번 채팅을 조회할 때마다 데이터베이스에 직접 접근한다면, 사용자가 많아질 경우 데이터베이스에 큰 부하가 가해져 전체적인 서비스 성능이 저하될 수 있습니다. 특히, 채팅 서비스는 실시간으로 데이터가 생성되고 조회되는 특성을 가지고 있기 때문에, 데이터베이스의 부하를 줄이고 빠른 응답 속도를 제공하는 것이 중요합니다. 이러한 문제를 해결하기 위해 캐싱(Caching) 기능을 도입하기로 결정했습니다. 캐싱은 자주 조회되는 데이터를 임시 저장소에 저장해 두고, 동일한 요청이 들어왔을 때 데이터베이스에 접근하지 않고 캐시에서 빠르게 데이터를 제공하는 기술입니다. 이를 통해 데이터베이스의 부하를 줄이고, 사용자..