Redis 캐싱 도입기: 예상과 다른 결과와 문제 해결 과정 (151 → 146 TPS)
·
Jungle
캐싱을 도입하면 당연히 성능이 향상될 거라고 생각했는데, 실제로는 TPS가 151에서 146으로 오히려 떨어지는 예상치 못한 결과를 마주했다. 이번 포스트에서는 Redis 캐싱 도입 과정에서 겪은 문제들과 해결 과정을 솔직하게 공유해보려고 한다.🎯 캐싱 도입 목표기존 문제점상품 상세 정보 조회(ProductService.getProductDetail) 같은 자주 호출되는 API가 매번 데이터베이스를 조회불필요한 DB 부하 발생응답 속도 저하예상 효과DB 조회 횟수 감소로 응답 시간 단축서버 리소스 절약전체적인 TPS 향상하지만 현실은 예상과 달랐다...🔧 Redis 캐싱 구현1. 캐시 설정 구성CacheConfig.java 생성@Configuration@EnableCachingpublic class ..
TIO 개선 소요 파악 - 성능 최적화
·
Jungle
웹 애플리케이션의 성능 병목을 해결하기 위한 6가지 핵심 최적화 전략을 정리했습니다.1. 데이터베이스 액세스 최적화1.1 N+1 쿼리 문제 해결문제: 연관 엔티티 조회 시 추가 쿼리가 N번 발생// ❌ 기존: N+1 쿼리 발생 (1 + 100번)return productRepository.findTop100ByDeletedFalseOrderByWishlistCountDesc() .stream() .map(product -> new ProductResponseDto(product, product.getCategory().getCategoryName())) // 각 상품마다 카테고리 쿼리 발생// ✅ 개선: Fetch Join 사용@Query("SELECT p FROM Product..