Contents
개요
운영 중인 Cloudfront에서 서빙되고 있는 콘텐츠의 캐싱이 얼마만큼 되었는지 확인할 수 있는 방법을 알아보고 각각의 지표가 무엇을 의미하는 것 인지 알아본다.
객체 캐싱 확인
먼저 Cloudfront의 캐싱율을 확인하기 전에 내가 서빙하고 있는 콘텐츠가 사용자에게 제대로 캐싱되고 있는지의 여부를 확인해 보자. 캐싱이 제대로 되고 있는지의 여부는 콘텐츠의 HTTP 헤더값을 보면 된다.
- 웹 브라우저 → 개발자 도구 → 콘텐츠 요청
x-cache
헤더의 Value값이 ‘Hit from Cloudfront’인지 확인하고 age
와 cache-control
헤더의 Value 값을 확인하면 된다.
Cloudfront의 캐싱율 확인
객체가 제대로 캐싱되고 있는지 확인했으면 캐싱율이 어느 정도인지 확인해 보자.
- Cloudfront → 인기 객체 (Popular objects) 메뉴
해당 메뉴에서 Cloudfront의 배포별로 캐싱이 얼마만큼 되었는지 확인할 수 있다.
지표 설명
인기객체 메뉴에서 확인할 수 있는 지표에 대한 설명이다.
지표 | 설명 |
객체 (Object) | 객체에 대한 Endpoint URL을 나타낸다. |
요청 (Reqeusts) | 객체에 대한 총 요청 수를 나타낸다. |
검색결과 (Hits) | Edge Location에서 캐싱된 객체가 제공된 사용자 요청 수이다. |
검색결과 % (Hits %) | 검색 결과 (Hits)를 백분율로 표시한 값이다. |
누락 (Misses) | Edge Location에 객체를 찾지 못한 사용자 요청 수이다. |
누락된 바이트 (Bytes from misses) | Edge Location에 객체를 찾지 못하여 사용자에게 제공된 Byte이다. |
바이트 합계 (Total bytes) | 객체에 대해 최종 사용자에게 제공한 총 바이트 수이다. |
불완전한 다운로드 (Incomplete downloads) | 객체에 대해 사용자가 다운로드를 시작했으나 완료되지 못한 최종 사용자 요청 수이다. (일반적으로 다른 링크를 클릭하거나 브라우저를 닫는 등의 동작으로 사용자가 요청을 취소한 경우임) |
2xx | HTTP Status Code가 2xx(성공)인 요청 |
3xx | HTTP Status Code가 3xx(추가 작업 필요)인 요청 |
4xx | HTTP Status Code가 4xx(클라이언트 오류)인 요청 |
5xx | HTTP Status Code가 5xx(서버 오류)인 요청 |
캐싱율 확인하기
해당 지표에서 검색결과 지표와 검색결과 % 지표가 캐싱율과 직결되는 지표인데 만약 해당 지표가 낮을 경우 제대로 캐싱이 되고 있지 않다는 것이다.
캐싱 설정이 잘 안 된 예
위 같은 경우는 아예 캐싱설정이 안 되었다고 봐도 무방하다.
캐싱 설정이 잘된 예
위 사진처럼 유저가 캐싱된 객체를 요청할 때마다 검색결과가 올라간다.
검색 결과 %가 100%에 가까우면 가까울수록 캐싱율이 높다고 말할 수 있다.
캐싱율을 높일 수 있는 방법
AWS 공식 문서에서는 캐싱율을 높일 수 있는 방법으로 총 7가지의 방법을 소개하고 있다.
- CloudFront에서 객체를 캐싱하는 시간 지정
- Origin Shield 사용
- 쿼리 문자열 파라미터 기반 캐싱
- 쿠키 값 기반 캐싱
- 요청 헤더 기반 캐싱
- 압축이 불필요할 때 Accept-Encoding 헤더 제거
- HTTP를 사용한 미디어 콘텐츠 제공
자세한 내용은 아래의 AWS 공식 문서를 참고하자.
Reference
'AWS > 네트워크 및 콘텐츠 전송' 카테고리의 다른 글
[Cloudfront] Cloudfront가 콘텐츠를 전송하는 과정 (0) | 2023.03.08 |
---|---|
[Cloudfront] 주요 요금지표 (0) | 2023.03.02 |
[Cloudfront] 캐싱이 필요하지 않은 서버에도 Cloudfront를 앞단에 설정할 필요가 있을까? (0) | 2023.02.21 |