Otimização de download de arquivos grandes com a Rede de Distribuição de Conteúdo do Azure

Importante

CDN do Azure Standard do Microsoft (Clássico) não dá suporte à criação de perfil, à integração de novos domínios ou aos certificados gerenciados e desativa-se no September 30, 2027. Para evitar a interrupção do serviço, igrate para Azure Front Door Standard ou Premium. Para obter mais informações, consulte CDN do Azure Standard da Microsoft (clássico) de desativação.

Os tamanhos de arquivos de conteúdo entregue pela internet continuam crescendo devido a funcionalidades avançadas, elementos gráficos aprimorados e conteúdo de rich media. Esse crescimento é impulsionado por vários fatores: penetração de banda larga, dispositivos de armazenamento maiores de baixo custo, aumento generalizado de vídeos de alta definição, dispositivos conectados à internet (IoT), etc. Um mecanismo de distribuição rápido e eficiente para arquivos grandes é crítico para garantir uma experiência do consumidor agradável e sem problemas.

A distribuição de arquivos grandes apresenta vários desafios. Primeiro, o tempo médio para baixar um arquivo grande pode ser significativo, pois muitos aplicativos podem não baixar todos os dados em sequência. Em alguns casos, os aplicativos podem baixar a última parte de um arquivo antes da primeira. Quando for solicitada apenas uma pequena quantidade de um arquivo ou um usuário pausar um download, o download poderá falhar. O download também poderá ser atrasado até que a rede de distribuição de conteúdo recupere o arquivo inteiro do servidor de origem.

Em seguida, a latência entre o computador de um usuário e o arquivo determina a velocidade na qual ele pode exibir o conteúdo. Além disso, problemas de capacidade e congestionamento de rede também afetam a taxa de transferência. Maiores distâncias entre servidores e usuários criam mais oportunidades de perda de pacotes, o que reduz a qualidade. A redução na qualidade causada por uma taxa de transferência limitada e uma maior perda de pacotes pode aumentar o tempo de espera até a conclusão do download de um arquivo.

Em terceiro lugar, muitos arquivos grandes não são entregues em sua totalidade. Os usuários podem cancelar um download no meio ou assistir somente aos primeiros minutos de um vídeo MP4 longo. Portanto, as empresas de distribuição de software e mídia desejam distribuir somente a parte de um arquivo que é solicitada. A distribuição eficiente das partes solicitadas reduz o tráfego de saída do servidor de origem. A distribuição eficiente também reduz a demanda de memória e E/S no servidor de origem.

Otimizar a distribuição de arquivos grandes com a Rede de Distribuição de Conteúdo do Azure da Microsoft

Os pontos de extremidade da CDN Standard do Azure da Microsoft entregam arquivos grandes, sem limite de tamanho de arquivo. Recursos extras são ativados por padrão para agilizar a distribuição de arquivos grandes.

Agrupamento de objetos

A CDN Standard do Azure da Microsoft usa uma técnica chamada de fragmentação de objetos. Quando um arquivo grande é solicitado, a rede de distribuição de conteúdo recupera partes menores do arquivo da origem. Depois que o servidor POP da rede de distribuição de conteúdo recebe uma solicitação de arquivo completa ou de intervalos de bytes, o servidor de borda da rede de distribuição de conteúdo solicita o arquivo da origem em partes de 8 MB.

Depois que a parte chega à borda da rede de distribuição de conteúdo, ela é armazenada em cache e imediatamente disponibilizada ao usuário. Em seguida, a rede de distribuição de conteúdo pré-carrega o próximo segmento em paralelo. Esse pré-carregamento garante que o conteúdo permaneça um segmento à frente do usuário, o que reduz a latência. Esse processo continua até que todo o arquivo seja baixado (se solicitado), todos os intervalos de bytes estejam disponíveis (se solicitado) ou o cliente encerra a conexão.

Para obter mais informações sobre a solicitação de intervalo de bytes, consulte RFC 7233.

A rede de distribuição de conteúdo armazena em cache todas as partes conforme elas são recebidas. O arquivo inteiro não precisa ser armazenado em cache no cache da rede de distribuição de conteúdo. As solicitações subsequentes para o arquivo ou intervalos de bytes são atendidas pelo cache da rede de entrega de conteúdo. Se nem todas as partes forem armazenadas em cache na rede de distribuição de conteúdo, uma pré-busca será usada para solicitar as partes da origem. Essa otimização se baseia na capacidade do servidor de origem de dar suporte a solicitações de intervalo de bytes. Se o servidor de origem não der suporte a solicitações de intervalo de bytes, as solicitações para baixar dados maiores que 8 MB de tamanho falharão.

Condições para a otimização de arquivo grande

Não há nenhum limite no tamanho máximo do arquivo.

Suporte à codificação de transferência fracionada

A rede de distribuição de conteúdo da Microsoft dá suporte a respostas de codificação de transferência, mas apenas até um limite máximo de tamanho de conteúdo de 8 MB. No caso de respostas codificadas em transferência segmentada que excedem 8 MB, a rede de distribuição de conteúdo da Microsoft armazenará em cache e atenderá apenas aos 8 MB iniciais do conteúdo.

Outras considerações

Considere os aspectos a seguir para esse tipo de otimização:

  • O processo por partes gera mais solicitações para o servidor de origem. No entanto, o volume total de dados entregues da origem é menor. O agrupamento resulta em melhores características de cache na rede de distribuição de conteúdo.

  • A demanda de memória e E/S é reduzida na origem, porque partes menores do arquivo são entregues.

  • Para partes armazenadas em cache na rede de distribuição de conteúdo, não há nenhuma outra solicitação para a origem, até que o conteúdo expire ou seja removido do cache.

  • Os usuários podem fazer solicitações de intervalo para a rede de distribuição de conteúdo, que são tratadas como qualquer arquivo normal. A otimização se aplica somente se ele for um tipo de arquivo válido e o intervalo de bytes estiver entre 10 MB e 150 GB. Se o tamanho médio do arquivo solicitado for menor que 10 MB, use a entrega geral pela web.