CDN 효율성 잠금 해제: CDN 캐시 적중률 개선 방법

EdgeOne-Product Team
15 분 읽기
Mar 12, 2025

CDN(콘텐츠 전송 네트워크) 캐시 적중률, 즉 CDN 캐시 적중 비율은 최종 사용자에게 콘텐츠를 전달하는 CDN의 효율성을 측정하는 중요한 지표입니다. 이는 원본 서버에서 가져오는 것이 아니라 CDN 캐시에서 직접 제공되는 요청의 비율을 나타냅니다. 캐시 적중률은 고객 경험에 직접적인 영향을 미치며, 높은 적중률을 보장하는 것이 CDN 사용자에게 핵심 과제가 되었습니다. 이 기사에서는 CDN 캐시 적중률의 개념, 영향을 미치는 요소 및 최적화 전략에 대해 논의합니다.

캐시 적중이란 무엇입니까?

일반적인 CDN 접근 경로에서는 역할이 다음과 같습니다: 사용자 -> 브라우저 -> CDN 노드 -> 원본 서버. 브라우저와 CDN 노드는 모두 리소스에 대한 캐시 역할을 할 수 있습니다.

cdn resource access path사용자가 브라우저에 주소를 입력하면 다음 단계가 발생합니다:

  1. 브라우저는 만료되지 않은 기준을 충족하는 로컬 리소스를 확인합니다. 찾으면 요청을 시작하지 않고 사용자에게 리소스를 반환합니다.
  2. 브라우저가 로컬 리소스를 찾았지만 만료 여부를 확인할 수 없는 경우, 서버에 캐시 만료 검증 요청을 보냅니다. 서버가 캐시가 만료되지 않았다고 확인하면, 304 상태 코드를 반환하여 브라우저가 로컬 캐시 리소스를 직접 사용할 수 있도록 합니다.
  3. 서버가 캐시가 만료되었다고 검증하면, 새로운 리소스를 200 상태 코드와 함께 직접 반환합니다. 브라우저는 정책에 따라 새로운 리소스를 로컬에 캐시할지 결정하고 사용자에게 응답합니다.
  4. 서버가 CDN 노드인 경우, 캐시 검증 과정에서 로컬 리소스가 없으면 특정 전략에 따라 클러스터 내의 다른 노드에 접근하거나 원본 서버에 도달할 때까지 업스트림 노드로부터 리소스를 요청합니다. 각 레이어의 노드는 사전 설정된 규칙에 따라 사용자에게 리소스를 반환하면서 로컬에 캐시합니다.

위 접근 전략을 통해 후속 사용자가 동일한 리소스에 접근할 때, 원본 서버에 요청하지 않고 로컬 또는 CDN 노드의 캐시에 직접 접근할 수 있습니다.

Content Delivery Network (CDN) process示意图,展示了用户通过浏览器与CDN节点和原始服务器之间的交互,以实现资源的高效加载和缓存利用。该图说明了用户A和用户B在访问相同资源时,浏览器如何通过CDN节点直接获取资源,而不必每次都向原始服务器请求,从而提高访问速度和减轻服务器负担。这种策略有效地利用了缓存机制,提升了用户体验和网络性能。

캐시 적중률이란 무엇입니까?

CDN에 익숙하다면, CDN의 핵심은 노드 캐싱으로, 여러 지리적 지역에 충분한 수의 노드를 배치하여 캐싱 서비스를 제공한다는 것을 알 것입니다. 클라이언트는 엣지 노드를 통해 캐시된 리소스에 직접 접근하여 원본 서버에 자주 방문하는 것을 피하고 가속화를 달성할 수 있습니다.

캐시 성능을 측정하는 주요 지표는 캐시 적중률이며, 여기에는 트래픽 적중률과 요청 적중률이 포함됩니다.

  • 트래픽 적중률: 단위 시간 내 요청의 응답에서 적중 바이트의 총 수를 총 응답 바이트로 나눈 값입니다.
  • 요청 적중률: 단위 시간 내 적중 요청의 수를 총 요청 수로 나눈 값입니다.

두 지표 모두 서로 다른 차원에서 캐시 적중 상황을 반영합니다. 캐시 적중률이 높을수록 원본 서버의 네트워크 대역폭 소비를 줄이고, 원본 서버의 압력을 완화하며, 사용자 접근 지연을 줄이고, 응답 시간을 단축할 수 있습니다.

일반적인 캐시 헤더는 무엇입니까?

CDN 접근의 캐시 전략은 주로 HTTP 헤더를 통해 구현됩니다. 다양한 리소스에 대해 CDN 노드와 브라우저의 캐싱 동작을 제어하기 위해 적절히 다양한 헤더를 설정할 수 있습니다.

응답 헤더

  • Cache-Control: CDN 노드와 브라우저의 리소스 캐싱 동작을 제어합니다. 일반적인 값으로는 no-cache, no-store, public, max-age=N이 있습니다. max-age=0, no-cache, no-store, 또는 private일 때, CDN 노드는 해당 리소스에 대한 캐싱 동작을 비활성화합니다.
  • Expires: 리소스의 유효 기간을 나타냅니다. 이 시간이 지나면 리소스는 만료된 것으로 표시되어야 합니다.
  • Last-Modified: 리소스의 마지막 수정 시간을 나타냅니다. CDN 노드는 이 헤더를 기반으로 캐시 일관성을 판단합니다.
  • ETag: 리소스의 고유 식별자를 나타냅니다. 생성 및 검증 규칙은 서버에 의해 결정됩니다.
  • Age: 노드에서 리소스의 캐시 시간입니다.

브라우저의 디버깅 모드를 사용하여 응답 패킷을 캡처하여 위 헤더의 의미를 설명합니다:

위 리소스의 응답 헤더는 많은 정보를 드러냅니다:

  • Age: 해당 리소스가 노드에서 518992초 동안 캐시되었음을 나타냅니다;
  • Cache-Control: 캐시 서버와 브라우저에 해당 리소스의 최대 캐시 시간이 2592000임을 알립니다;
  • ETag: 리소스의 고유 식별자가 5e7c3f77-a89임을 나타냅니다;
  • Expires: 해당 리소스가 2021-07-03 06:01:19 이후에 만료됨을 나타냅니다;
  • Last-Modified: 해당 리소스의 마지막 수정 시간이 2020-03-26 05:36:55임을 나타냅니다.

요청 헤더

  • If-Modified-Since: 서버와 캐시 버전을 검증하는 데 사용됩니다. 리소스가 이 시간 이후에 업데이트된 경우, 서버는 새로운 리소스를 반환해야 하며, 그렇지 않으면 304를 반환합니다;
  • If-None-Match: ETag와 함께 사용되어 브라우저가 캐시한 리소스 식별자를 서버에 알려줍니다. 변경이 있는 경우, 서버는 새로운 리소스를 반환해야 하며, 그렇지 않으면 304를 반환합니다.

낮은 캐시 적중률의 이유는 무엇입니까?

웹사이트 접근 속도가 느리거나 원본 서버의 백투오리진 대역폭이 큰 경우, 웹사이트 트래픽 증가를 배제한 후에 낮은 캐시 적중률이 백투오리진 동작을 유발했을 가능성이 큽니다. 이 경우, 다음 방법으로 문제를 해결할 수 있습니다.

  1. 먼저 Tencent EdgeOne 콘솔에 로그인하여 데이터 인사이트 - 분석에서 트래픽 적중 세부정보를 확인합니다.
  2. 대역폭 및 트래픽 추세 곡선을 확인하여 갑작스러운 트래픽 증가가 적중률 감소의 원인인지 판단합니다.
  3. 트래픽 및 요청 세부정보 페이지에서 TOP URL 통계를 보고, 노드 캐시 구성 규칙을 확인하여 TOP 리소스에 대한 접근이 해당 캐시 전략에 적중할 수 있는지 확인합니다.

관찰된 적중률 감소가 기대와 일치하지 않는 경우, 도메인 구성을 점검하여 캐시 전략이 합리적인지 판단할 수 있습니다:

1. 원본 서버 캐시 헤더가 올바르게 구성되어 있습니까?
노드 캐시 전략이 원본 서버를 따르도록 설정되어 있고, 원본 서버가 강제로 Cache-Control 헤더를 캐시하지 않도록 설정하면, CDN 노드의 캐시 기능이 실패하여 적중률이 감소합니다.

2. 원본 서버에 새 리소스가 많이 출시되고 있습니까?
원본 서버에 많은 새 리소스가 있는 경우, 더 많은 요청이 원본으로 돌아가게 되어 트래픽 적중률이 감소합니다.

3. 원본 서버에 예외가 있습니까?
원본 서버에 장애가 발생하여 리소스 접근 시 4xx 및 5xx 오류가 많이 발생하면, 각 요청이 백투오리진 동작을 유발하여 적중률이 감소합니다.

4. 캐시 만료 시간이 올바르게 설정되어 있습니까?
CDN 캐시 시간이 너무 짧게 설정되어 있으면, CDN 노드가 자주 만료되어 빈번한 백투오리진 동작이 발생하고 적중률이 감소합니다. 동시에 리소스 캐싱 전략에는 우선 순위가 있으며, 실제 적중 전략이 기대에 미치지 못할 수 있습니다.

5. 필터링 매개변수 기능이 활성화되어 있습니까?
도메인에 대한 필터링 매개변수 캐시 기능이 비활성화된 경우, 캐시는 전체 경로에 따라 파일을 매칭합니다. 동일한 리소스가 다양한 요청 매개변수를 가지고 있을 경우 동일한 캐시에 적중하지 못해 적중률이 감소합니다.

CDN 캐시 적중률을 어떻게 향상시킬 수 있습니까?

캐시 적중률 감소의 원인을 이해한 후, 다음 방법을 통해 리소스의 캐시 적중률을 향상시킬 수 있습니다. Tencent EdgeOne에서는 강력한 규칙 엔진을 사용하여 도메인에 대해 다양한 규칙을 구성할 수 있으며, 글로벌 설정을 통해 사이트에 대한 글로벌 규칙도 정의할 수 있습니다:

노드 캐시 시간 설정

노드 캐시 시간은 CDN 서비스 노드에서 리소스를 캐시하는 데 설정된 시간을 말합니다. 이 구성은 Tencent EdgeOne의 캐시 적중률 통계에 직접적인 영향을 미칩니다. 사이트 가속 페이지에서 규칙 엔진을 클릭하고, 새로운 규칙을 생성한 후 EdgeOne 노드 캐시 TTL을 찾아 필요에 따라 정적 및 동적 리소스의 캐시 시간을 구성합니다.

브라우저 캐시 시간 설정

브라우저 캐시 시간은 브라우저에서 로컬로 리소스를 캐시하는 데 설정된 시간을 말합니다. 이 구성은 Tencent EdgeOne 콘솔의 캐시 적중률 통계에 영향을 미치지 않지만, 사용자 접근의 실제 적중률을 본질적으로 향상시킵니다. 사이트 가속 페이지에서 규칙 엔진을 클릭하고, 브라우저 캐시 TTL을 찾아 필요에 따라 정적 및 동적 리소스의 캐시 시간을 구성합니다.

새로 고침 기능을 합리적으로 사용

특히 디렉토리 새로 고침과 같은 무효 새로 고침 동작을 제어합니다. 접근량이 많고 변경이 드문 리소스에 대해서는 다음 변경 주기 이전에 새로 고침 작업을 제출할 필요가 없습니다. 디렉토리 새로 고침은 많은 리소스 접근이 실패하게 하여 백투오리진을 유발하므로 사용을 최대한 줄이는 것이 좋습니다. 사용해야 하는 경우, 영향이 적고 수준이 긴 디렉토리를 새로 고침하는 것이 좋습니다.

미리 로드하기

새 버전을 출시하거나 리소스를 변경하기 전에 핫스팟 리소스를 미리 추출하고 CDN 미리 로드 기능을 사용하여 노드에서 리소스를 캐시합니다. 가능한 한 CDN 접근량을 늘려 캐시 소멸을 방지합니다.

Tencent EdgeOne 캐싱 전략

Tencent EdgeOne는 기본 캐싱 기능을 개선하는 것 외에도 캐시 전략을 더욱 최적화하여 접근 적중률을 향상시킵니다. 주요 기능은 다음과 같습니다:

대규모 리소스 예약

Tencent EdgeOne은 Tencent에서 전 세계에 출시한 엣지 보안 가속 플랫폼입니다. 2800개 이상의 엣지 노드를 전 세계에 두고, 20년 이상의 보안 기술 축적을 바탕으로, 기업에 보안 보호, 성능 가속 및 관련 기술 지원을 위한 통합 엣지 서비스를 제공합니다. 이 플랫폼은 DNS 해상도, Layer 4 프록시, 사이트 가속, 지능형 가속, DDoS 보호, 웹 보호, 봇 보호, 부하 분산 등 10개 이상의 기능을 통합하여, 기업 플랫폼과 사용자 경험의 보안과 안정성을 보장하고, 글로벌 기업의 디지털 전환 및 해외 진출을 지원하는 데 힘쓰고 있습니다.

다단계 캐시 아키텍처

Tencent EdgeOne는 기본 레벨에서 중간 원본을 기본적으로 증가시킨 아키텍처를 제공하여 캐시 적중률을 개선합니다. 엣지 계층은 광범위한 커버리지를 제공하고, 중간 원본은 더 높은 저장 능력을 제공합니다. CDN 노드가 요청을 적중시키고 응답하면, 그것은 캐시 적중으로 간주됩니다. 필요에 따라 세 번째 원본을 구성하여 캐싱 능력을 더욱 향상시킬 수 있습니다.

병합 + 클러스터 원본

동일한 계층의 노드에서 Tencent EdgeOne는 병합 원본 및 클러스터 내부 원본 기능을 제공합니다. 일정 시간 내에 동일한 리소스에 대한 요청은 하나의 원본 요청으로 병합되며, 동일한 리소스에 대해 내부 클러스터 내에서 접근 스케줄링이 수행됩니다. 이를 통해 원본 요청을 수렴하고 리소스 적중률을 향상시킵니다.

기본 블록 스토리지

대용량 파일을 다운로드할 때 중단 재개가 필요한 시나리오에서, 고객이 전체 파일을 요청하지 않을 수 있습니다. Tencent EdgeOne는 대용량 파일의 저장을 기본 수준에서 샤딩된 블록으로 저장하고, 필요에 따라 파일을 요청하여 전체 문서를 원본에서 가져오지 않도록 최적화합니다. 동시에 모든 바이트 간격에 대한 범위 요청을 위해, 노드는 원본에서 요청된 바이트 간격을 포함하는 전체 조각을 가져옵니다. 동일한 조각 내의 다른 바이트에 대한 후속 요청은 캐시를 직접 적중시켜 저장 및 원본 검색 효율성을 최적화합니다.

유연한 캐시 규칙 구성

정기적인 가속 노드 캐싱 설정 외에도 Tencent EdgeOne 콘솔은 헤더 캐싱, 상태 코드 캐싱, 브라우저 캐싱, 캐시 구성 등 여러 캐시 관련 기능을 제공합니다. 사용자는 콘솔에서 직접 리소스 캐싱 규칙을 정의할 수 있습니다.

결론

CDN 캐시 적중률 최적화는 성능 향상, 비용 절감, 확장성 강화 및 웹 애플리케이션의 전반적인 신뢰성과 보안을 높이는 데 필수적입니다.

Tencent EdgeOne의 고급 캐싱 기능, 글로벌 커버리지, 동적 콘텐츠 지원, 사용자 정의 정책, 실시간 모니터링 및 보안 강화는 CDN 캐싱을 최적화하고 뛰어난 콘텐츠 성능을 제공하는 강력한 솔루션입니다. 이러한 혜택을 직접 체험하고 싶으시면, 언제든지 문의 해주십시오하여 Tencent EdgeOne 및 그 기능에 대해 자세히 알아보세요. 또한 여기를 클릭하여 무료 평가판을 시작하세요.