반응형

캐싱 4

22. 브라우저 캐싱

브라우저 캐싱개념사용자가 웹 사이트 방문 시 HTML, CSS, JS, 이미지 등 정적 리소스를 브라우저가 로컬 저장소에 저장하여 재사용목적응답 속도 향상: 네트워크 요청을 줄여 페이지 로딩 속도 개선서버 부하 감소: 중복 요청 차단으로 트래픽과 비용 절감사용자 경험 향상: 빠른 로딩과 부드러운 화면 전환작동 방식Fresh유효한 캐시 데이터가 있는 경우서버 재요청 없음 -> 완전한 캐시 히트결정 기준: Cache-Control: max-age=3600, Expires 등Stale유효기간이 만료된 경우ETag, Last-Modified 값을 서버에 전달서버가 "변경없음(304 Not Modified)" 응답 -> 기존 캐시 사용변경된 경우 -> 새 리소스를 받아 캐시 갱신HTTP 캐시 제어 메커니즘Cach..

개발/Web-Backend 2025.07.01

21. 인메모리 캐싱 (Redis, Memcached)

캐싱의 기본 개념캐시란?데이터를 임시로 저장해두는 고속 저장소원본 데이터보다 접근 속도가 빠른 메모리나 저장소에 복사본을 저장CPU 캐시, 브라우저 캐시, DB 캐시, 웹 캐시 등이 있음응답 시간 단축, 시스템 부하 감소 등의 효과를 얻을 수 있음캐싱의 필요성속도 개선 (Latency Reduction)데이터베이스나 원격 API의 응답보다 훨씬 빠른 in-memory 접근 가능부하 분산 (Load Reduction)동일한 요청이 반복될 때마다 원본을 조회하지 않고 캐시로 응답하여 서버나 DB의 부하 감소비용 절감외부 API 요금, 네트워크 비용 등을 캐시를 통해 줄일 수 있음고가용성원본 시스템이 일시적으로 장애가 나도, 캐시된 데이터로 서비스 연속성 유지 가능다양한 캐시의 종류구분설명하드웨어 캐시CPU의..

개발/Web-Backend 2025.06.30

18. 성능 최적화

성능최적화성능 최적화란?시스템의 응답 속도, 처리량, 자원 사용률 등을 개선하여 안정적이고 효율적인 서비스를 제공하는 과정목적사용자 경험 개선 (빠른 응답, 끊김 없는 흐름)시스템 자원 효율화 (CPU, 메모리, DB 부하 절감)처리량 향상 (TPS/QPS 증가, 대규모 요청 대응)운영 비용 절감 (서버 수, 네트워크 비용 등 감소)주요 적용 영역코드 최적화 (알고리즘, I/O 처리)데이터베이스 튜닝캐싱 전략인프라 스케일링 (서버 확장, 로드 밸런싱 등)병목 발생 이유유형설명예시애플리케이션 병목비효율적인 알고리즘, 불필요한 연산O(n²) 정렬, 불필요한 반복 연산데이터베이스 병목느린 쿼리, 인덱스 누락, 트랜잭션 충돌SELECT * + 조인, N+1 문제I/O 병목파일, 네트워크 요청 지연S3에서 대용량..

개발/Web-Backend 2025.06.27

17. 리버스 프록시와 클라우드

클라우드 환경과 리버스 프록시 아키텍처클라우드 환경에서 Nginx나 Apache 같은 리버스 프록시는 서비스의 안정성과 확장성을 책임지는 핵심 요소로드 밸런싱 및 고가용성클라우드에서 제공하는 로드 밸런서(LB)와 Nginx/Apache를 조합해 트래픽을 분산하고 단일 장애 지점(SPOF, Single Point of Failure)을 제거하는 것이 가능동작 원리사용자 트래픽이 먼저 클라우드 로드 밸런서(AWS의 ELB, Google의 Cloud Load Balancing 등)에 도달이 로드 밸런서는 1차적으로 트래픽을 여러 Nginx/Apache 프록시 서버로 분배그 후, Nginx/Apache 프록시는 URL 경로, 헤더 정보 등 더 세밀한 조건에 따라 실제 애플리케이션 서버(WAS)로 트래픽을 다시 ..

개발/Web-Backend 2025.06.26