Azure Content Delivery Network를 사용하여 대용량 파일 다운로드 최적화

인터넷을 통해 배달되는 콘텐츠의 파일 크기는 향상된 기능, 향상된 그래픽, 풍부한 미디어 콘텐츠 등으로 인해 계속 커지고 있습니다. 이러한 성장은 광대역 침투, 더 큰 저렴한 스토리지 디바이스, 고화질 비디오의 광범위한 증가, IoT(인터넷 연결 디바이스)와 같은 여러 요인에 의해 주도됩니다. 원활하고 즐거운 소비자 환경을 보장하려면 대용량 파일에 대한 빠르고 효율적인 배달 메커니즘이 중요합니다.

대용량 파일을 배달하는 데 있어 몇 가지 과제가 있습니다. 첫째, 애플리케이션에서 모든 데이터를 순차적으로 다운로드하지 않을 수 있기 때문에 대용량 파일을 다운로드하는 평균 시간이 중요할 수 있습니다. 경우에 따라 애플리케이션에서 파일의 처음 부분보다 마지막 부분을 먼저 다운로드할 수 있습니다. 소량의 파일만 요청하거나 사용자가 다운로드를 일시 중지하면 다운로드가 실패할 수 있습니다. 콘텐츠 배달 네트워크가 원본 서버에서 전체 파일을 검색할 때까지 다운로드가 지연될 수도 있습니다.

둘째, 사용자 컴퓨터와 파일 간의 대기 시간이 콘텐츠를 볼 수 있는 속도를 결정합니다. 또한 네트워크 정체 및 용량 문제도 처리량에 영향을 줍니다. 서버와 사용자 간의 거리가 늘어나면 패킷 손실이 발생할 수 있는 가능성이 커져 품질이 저하될 수 있습니다. 제한된 처리량으로 인한 품질 저하와 패킷 손실 증가는 파일 다운로드가 완료될 때까지 기다리는 대기 시간을 늘릴 수 있습니다.

셋째, 많은 대용량 파일이 전체적으로 배달되지 않습니다. 사용자가 중간에 다운로드를 취소하거나 긴 MP4 비디오의 처음 몇 분만 시청할 수 있습니다. 따라서 소프트웨어 및 미디어 배달 회사는 파일에서 요청된 파일의 일부만 제공하려고 합니다. 요청된 부분을 효율적으로 배포하면 원본 서버에서 송신 트래픽을 줄여줍니다. 또한 효율적인 배포는 원본 서버의 메모리 및 I/O 부담도 줄여줍니다.

Microsoft에서 Azure Content Delivery Network를 사용하여 대용량 파일 배달 최적화

Microsoft의 Azure CDN 표준 엔드포인트는 파일 크기 제한 없이, 대용량 파일을 배달합니다. 추가 기능은 기본적으로 대용량 파일의 전송 속도를 높이도록 설정됩니다.

개체 청크

Microsoft의 Azure CDN 표준은 개체 청크라는 기술을 사용합니다. 큰 파일이 요청되면 콘텐츠 배달 네트워크는 원본에서 파일의 작은 부분을 검색합니다. 콘텐츠 배달 네트워크 POP 서버가 전체 또는 바이트 범위 파일 요청을 받으면 콘텐츠 배달 네트워크 에지 서버는 원본에서 파일을 8MB 청크 단위로 요청합니다.

청크가 콘텐츠 배달 네트워크 에지에 도착하면 캐시되고 사용자에게 즉시 제공됩니다. 그러면 콘텐츠 배달 네트워크가 다음 청크를 병렬로 프리페치합니다. 이 프리페치를 사용하면 콘텐츠가 사용자보다 먼저 하나의 청크로 유지되도록 하여 대기 시간을 줄일 수 있습니다. 이 프로세스는 전체 파일을 다운로드하거나(요청된 경우), 모든 바이트 범위를 사용할 수 있거나(요청된 경우), 클라이언트에서 연결을 종료할 때까지 계속됩니다.

바이트 범위 요청에 대한 자세한 내용은 RFC 7233을 참조하세요.

콘텐츠 배달 네트워크는 수신되는 청크를 캐시합니다. 전체 파일을 콘텐츠 배달 네트워크 캐시에 캐시할 필요가 없습니다. 파일 또는 바이트 범위에 대한 후속 요청은 콘텐츠 배달 네트워크 캐시에서 제공됩니다. 모든 청크가 콘텐츠 배달 네트워크에 캐시되지 않는 경우 프리페치를 사용하여 원본에서 청크를 요청합니다. 이 최적화는 원본 서버에서 바이트 범위 요청을 지원하는 기능을 사용합니다. 원본 서버가 바이트 범위 요청을 지원하지 않는 경우 8MB 크기보다 큰 데이터를 다운로드하라는 요청이 실패합니다.

대용량 파일 최적화에 대한 조건

최대 파일 크기에는 제한이 없습니다.

청크 분할 전송 인코딩 지원

Microsoft 콘텐츠 배달 네트워크는 전송 인코딩 응답을 지원하지만 최대 콘텐츠 크기 제한은 8MB입니다. 청크 분할 전송 인코딩 응답이 8MB를 초과하는 경우 Microsoft 콘텐츠 배달 네트워크는 초기 8MB의 콘텐츠만 캐시하고 제공합니다.

Edgio에서 Azure Content Delivery Network를 사용하여 대용량 파일 배달 최적화

Edgio의 Azure CDN 표준Edgio의 Azure CDN 프리미엄 엔드포인트는 파일 크기 제한 없이, 대용량 파일을 배달합니다. 더 많은 기능이 기본적으로 대용량 파일의 전송 속도를 높이도록 설정됩니다.

전체 캐시 채우기

기본값인 전체 캐시 채우기 기능을 사용하면 초기 요청이 중단되거나 손실될 때 콘텐츠 배달 네트워크에서 파일을 캐시로 끌어올 수 있습니다.

전체 캐시 채우기는 대규모 자산에 가장 유용합니다. 일반적으로 사용자는 처음부터 끝까지 다운로드하지 않고, 점진적 다운로드를 사용합니다. 기본 동작은 에지 서버에서 원본 서버에 있는 자산의 백그라운드 가져오기를 시작하도록 하는 것입니다. 그런 후에 에지 서버의 로컬 캐시에 자산이 있습니다. 전체 개체가 캐시에 있으면 에지 서버는 캐시된 개체에 대한 콘텐츠 배달 네트워크에 대한 바이트 범위 요청을 수행합니다.

Edgio의 Azure CDN 프리미엄의 규칙 엔진을 통해 이러한 기본 동작을 사용하지 않도록 설정할 수 있습니다.

피어 캐시 채우기 핫파일링(hot-filing)

기본 피어 캐시 채우기 핫파일링 기능은 정교한 소유 알고리즘을 사용합니다. 이것은 대역폭 및 집계 요청 메트릭에 따라 추가 에지 캐싱 서버를 사용하여 널리 사용되는 큰 개체에 대한 클라이언트 요청을 수행합니다. 이 기능은 많은 수의 추가 요청을 사용자의 원본 서버로 보내는 상황을 방지합니다.

대용량 파일 최적화에 대한 조건

Edgio의 Azure CDN 표준Edgio의 Azure CDN 프리미엄에 대한 대용량 파일 최적화 기능은 일반 웹 배달 최적화 유형을 사용할 때 기본적으로 켜집니다. 최대 파일 크기에는 제한이 없습니다.

기타 고려 사항

이 최적화 형식을 사용할 때 고려해야 할 다음 몇 가지 측면이 있습니다.

  • 청크 프로세스는 원본 서버에 추가 요청을 생성합니다. 하지만, 원본 서버에서 배달되는 전체 데이터 양은 적습니다. 청크 분할은 콘텐츠 배달 네트워크에서 더 나은 캐싱 특성을 생성합니다.

  • 파일의 더 작은 부분을 배달하므로 원본 서버의 메모리 및 I/O 부담이 줄어듭니다.

  • 콘텐츠 배달 네트워크에서 캐시된 청크의 경우 콘텐츠가 만료되거나 캐시에서 제거될 때까지 원본에 대한 다른 요청이 없습니다.

  • 사용자는 일반 파일처럼 처리되는 콘텐츠 배달 네트워크에 범위 요청을 수행할 수 있습니다. 최적화는 파일 형식이 유효하고 바이트 범위가 10MB ~ 150GB인 경우에만 적용됩니다. 요청된 평균 파일 크기가 10MB보다 작은 경우 일반 웹 배달을 대신 사용합니다.