본문 바로가기

redis2

Caching [문제 상황]공지게시글과 전월 베스트 게시글의 경우, 많은 사용자의 빈번한 조회 요청 발생합니다.따라서 조회 속도 성능 개선이 필요하다고 판단하였습니다. [해결 과정]Redis의 캐시 적용으로 조회 속도 개선 [Test]100명의 사용자가 1초에 10번 요청하는 테스트 환경공지게시글의 경우 716ms에서 59ms으로 조회 속도가 줄어든 것을 확인할 수 있었고, DB에 조회 쿼리가 최조 1회만 발생하기에 DB의 부하를 낮출 수 있었습니다.   또한 앞의 테스트를 그라파나를 통해 모니터링한 결과 캐시 적용 후로 System CPU 사용량이 19.1% 감소한 것을 볼 수 있습니다. Grafana를 통해서 확인 CPU 사용량 확인적용 전: System CPU 사용량 -> 최대 0.291적용 후: System C.. 2024. 5. 8.
구매 요청에 대한 데이터베이스 부하 최적화 [문제 상황 & 원인]대량 구매 요청으로 인해 빈번한 데이터베이스 쓰기가 발생하여 데이터베이스 리소스에 부담을 줍니다.또한 각 구매 요청은 데이터베이스 쓰기 작업을 트리거하여 제품 수량을 업데이트하므로 데이터베이스 트랜잭션의 양이 많아집니다.[해결 과정]인메모리 데이터 구조 저장소인 Redis를 활용하여 제품 수량을 관리합니다.구매 요청이 있을 때마다 데이터베이스를 즉시 업데이트하지 않고, Redis에서 상품 재고를 관리하여 상품의 수량을 감소합니다.Redis의 제품 수량이 0에 도달하여 제품이 품절되었음을 나타내는 경우에만 데이터베이스에 쓰는 메커니즘을 구현했습니다.  상품을 DB에 등록하는 과정에서 hashOperations.put() 메서드로 redis의 해시 맵에 데이터를 추가합니다.@Overri.. 2024. 4. 25.