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

Os tamanhos dos ficheiros de conteúdo fornecido através da Internet continuam a crescer devido à funcionalidade melhorada, gráficos melhorados e conteúdo multimédia avançado. Esse crescimento é impulsionado por muitos fatores: penetração de banda larga, dispositivos de armazenamento mais baratos maiores, aumento generalizado de vídeo de alta definição e dispositivos conectados à Internet (IoT). Um mecanismo de entrega rápido e eficiente para arquivos grandes é fundamental para garantir uma experiência de consumo suave e agradável.

A entrega de arquivos grandes tem vários desafios. Primeiro, o tempo médio para baixar um arquivo grande pode ser significativo porque os aplicativos podem não baixar todos os dados sequencialmente. Em alguns casos, os aplicativos podem baixar a última parte de um arquivo antes da primeira parte. Quando apenas uma pequena quantidade de um arquivo é solicitada ou um usuário pausa um download, o download pode falhar. O download também pode ser adiado até que a rede de distribuição de conteúdo recupere o arquivo inteiro do servidor de origem.

Em segundo lugar, a latência entre a máquina de um usuário e o arquivo determina a velocidade com que ele pode visualizar o conteúdo. Além disso, o congestionamento da rede e os problemas de capacidade também afetam a taxa de transferência. Maiores distâncias entre servidores e usuários criam mais oportunidades para a perda de pacotes, o que reduz a qualidade. A redução na qualidade causada pela taxa de transferência limitada e aumento da perda de pacotes pode aumentar o tempo de espera para que o download de um arquivo seja concluído.

Em terceiro lugar, muitos arquivos grandes não são entregues em sua totalidade. Os usuários podem cancelar um download no meio do caminho ou assistir apenas os primeiros minutos de um longo vídeo MP4. Portanto, as empresas de software e entrega de mídia querem entregar apenas 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 pressão de memória e E/S no servidor de origem.

Otimizar para entrega de arquivos grandes com a Rede de Entrega de Conteúdo do Azure da Microsoft

O Azure CDN Standard dos pontos de extremidade da Microsoft fornece arquivos grandes sem um limite no tamanho do arquivo. Os recursos extras são ativados por padrão para tornar a entrega de arquivos grandes mais rápida.

Fragmentação de objetos

O Azure CDN Standard da Microsoft usa uma técnica chamada 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 entrega de conteúdo recebe uma solicitação de arquivo completa ou de intervalos de bytes, o servidor de borda da rede de entrega de conteúdo solicita o arquivo da origem em blocos de 8 MB.

Depois que o bloco chega à borda da rede de entrega de conteúdo, ele é armazenado em cache e imediatamente servido ao usuário. Em seguida, a rede de distribuição de conteúdo pré-busca a próxima parte em paralelo. Essa pré-busca garante que o conteúdo fique um pedaço à 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 encerre 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 à medida que são recebidas. O arquivo inteiro não precisa ser armazenado em cache no cache da rede de entrega de conteúdo. As solicitações subsequentes para os intervalos de arquivos ou bytes são atendidas a partir do cache da rede de distribuição de conteúdo. Se nem todos os blocos forem armazenados em cache na rede de entrega de conteúdo, a pré-busca será usada para solicitar blocos da origem. Essa otimização depende da capacidade do servidor de origem de suportar solicitações de intervalo de bytes. Se o servidor de origem não suportar solicitações de intervalo de bytes, as solicitações para baixar dados com tamanho superior a 8 MB falharão.

Condições para otimização de arquivos grandes

Não há limites para o tamanho máximo do arquivo.

Suporte de codificação de transferência Chunked

A rede de distribuição de conteúdo da Microsoft suporta 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 de transferência em partes superiores a 8 MB, a rede de distribuição de conteúdo da Microsoft armazenará em cache apenas os 8 MB iniciais de conteúdo.

Otimizar para entrega de arquivos grandes com a Rede de Entrega de Conteúdo do Azure da Edgio

A CDN Standard do Azure do Edgio e a CDN Premium do Azure dos pontos de extremidade do Edgio fornecem arquivos grandes sem um limite no tamanho do arquivo. Mais recursos são ativados por padrão para tornar a entrega de arquivos grandes mais rápida.

Preenchimento completo do cache

O recurso de preenchimento completo de cache padrão permite que a rede de entrega de conteúdo extraia um arquivo para o cache quando uma solicitação inicial é abandonada ou perdida.

O preenchimento completo do cache é mais útil para ativos grandes. Normalmente, os utilizadores não os descarregam do início ao fim. Eles usam o download progressivo. O comportamento padrão força o servidor de borda a iniciar uma busca em segundo plano do ativo no servidor de origem. Depois, o ativo está no cache local do servidor de borda. Depois que o objeto completo estiver no cache, o servidor de borda atenderá às solicitações de intervalo de bytes para a rede de entrega de conteúdo para o objeto armazenado em cache.

O comportamento padrão pode ser desabilitado por meio do mecanismo de regras na CDN Premium do Azure do Edgio.

Arquivamento a quente de preenchimento de cache de mesmo nível

O recurso padrão de preenchimento de cache de pares usa um sofisticado algoritmo proprietário. Ele usa servidores de cache de borda extra com base na largura de banda e métricas de solicitações agregadas para atender às solicitações do cliente para objetos grandes e altamente populares. Esse recurso evita uma situação em que um grande número de solicitações extras são enviadas para o servidor de origem de um usuário.

Condições para otimização de arquivos grandes

Os recursos de otimização de arquivos grandes para o Azure CDN Standard do Edgio e o Azure CDN Premium do Edgio são ativados por padrão quando você usa o tipo geral de otimização de entrega na Web. Não há limites para o tamanho máximo do arquivo.

Outras considerações

Considere os seguintes aspetos para esse tipo de otimização:

  • O processo de fragmentação gera mais solicitações para o servidor de origem. No entanto, o volume global de dados fornecidos a partir da origem é menor. A fragmentação resulta em melhores características de cache na rede de distribuição de conteúdo.

  • A memória e a pressão de E/S são reduzidas na origem porque partes menores do arquivo são entregues.

  • Para partes armazenadas em cache na rede de entrega de conteúdo, não há outras solicitações 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 aplica-se apenas se for um tipo de ficheiro 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.