Compartir vía


Optimización de descarga de archivos de gran tamaño con Azure Content Delivery Network

El tamaño de los archivos de contenido enviado por Internet sigue creciendo debido a la mejora de las funcionalidades y los gráficos, junto con el enriquecimiento del contenido multimedia. Este crecimiento se basa en muchos factores: penetración de banda ancha, dispositivos de almacenamiento más económicos, aumento generalizado de vídeo de alta definición y dispositivos conectados a Internet (IoT). Un mecanismo de entrega rápido y eficiente de los archivos grandes es fundamental para garantizar una experiencia sin complicaciones y divertida para el consumidor.

La entrega de archivos grandes tiene varios desafíos. En primer lugar, el tiempo medio para descargar un archivo grande puede ser importante porque es posible que las aplicaciones no descarguen todos los datos de forma secuencial. En algunos casos, es posible que las aplicaciones descarguen la última parte de un archivo antes de la primera. Cuando se solicita solo una pequeña cantidad de un archivo o un usuario pone en pausa una descarga, se puede producir un error en la descarga. La descarga también puede retrasarse hasta después de que la red de entrega de contenido recupere todo el archivo del servidor de origen.

En segundo lugar, la latencia entre el equipo del usuario y el archivo determina la velocidad a la que puede ver el contenido. Además, los problemas de capacidad y congestión de la red también afectan al rendimiento. Las mayores distancias entre servidores y usuarios generan más oportunidades de que se produzca la pérdida de paquetes, lo que reduce la calidad. La reducción de la calidad causada por un rendimiento limitado y una mayor pérdida de paquetes es posible que aumente el tiempo de espera para que finalice la descarga de un archivo.

En tercer lugar, muchos archivos grandes no se envían en su totalidad. Es posible que los usuarios cancelen una descarga a la mitad o que solo vean los primeros minutos de un vídeo MP4 largo. Por tanto, las empresas de entrega de software y de elementos multimedia solo quieren proporcionar la parte del archivo que se solicita. La distribución eficaz de las partes solicitadas reduce el tráfico de salida desde el servidor de origen. La distribución eficaz también reduce la presión de memoria y E/S en el servidor de origen.

Optimización para la entrega de archivos grandes con Azure Content Delivery Network de Microsoft

Los puntos de conexión Azure CDN Estándar de Microsoft entregan archivos grandes sin límite en el tamaño de archivo. De forma predeterminada, se activan características adicionales para agilizar la entrega de archivos grandes.

Fragmentación de objetos

Azure CDN Estándar de Microsoft emplea una técnica llamada fragmentación de objetos. Cuando se solicita un archivo grande, la red de entrega de contenido recupera partes más pequeñas del archivo del origen. Después de que el servidor POP de la red de entrega de contenido reciba una solicitud de archivo completa o de intervalos de bytes, el servidor perimetral de red de entrega de contenido solicita el archivo desde el origen en fragmentos de 8 MB.

Después de que el fragmento llegue al perímetro de la red de entrega de contenido, se almacenará en caché y se atenderá inmediatamente al usuario. A continuación, la red de entrega de contenido captura previamente el siguiente fragmento en paralelo. Este captura previa garantiza que el contenido sigue estando un fragmento por delante del usuario, lo que reduce la latencia. Este proceso continúa hasta que se descarga todo el archivo (si se solicita), todos los intervalos de bytes están disponibles (si se solicitan) o el cliente finaliza la conexión.

Para más información sobre la solicitud de intervalo de bytes, vea RFC 7233.

La red de entrega de contenido almacena en caché los fragmentos a medida que se reciben. No es necesario almacenar en caché todo el archivo en la caché de red de entrega de contenido. Las solicitudes posteriores de los intervalos de archivos o bytes se sirven desde la caché de red de entrega de contenido. Si no todos los fragmentos se almacenan en caché en la red de entrega de contenido, la captura previa se usa para solicitar fragmentos del origen. Esta optimización se basa en la capacidad del servidor de origen de admitir solicitudes de intervalo de bytes. Si el servidor de origen no admite solicitudes de intervalos de bytes, se produce un error en las solicitudes para descargar datos con un tamaño superior a 8 MB.

Condiciones para la optimización de archivos grandes

No hay ningún límite en el tamaño de archivo máximo.

Compatibilidad con la codificación de transferencia fragmentada

La red de entrega de contenido de Microsoft admite respuestas de codificación de transferencia, pero solo hasta un límite máximo de tamaño de contenido de 8 MB. En el caso de las respuestas codificadas de transferencia fragmentada superiores a 8 MB, la red de entrega de contenido de Microsoft solo almacenará en caché y atenderá los 8 MB iniciales de contenido.

Optimización para la entrega de archivos grandes con Azure Content Delivery Network desde Edgio

Azure CDN Estándar de Edgio y Azure CDN Premium desde los puntos de conexión de Edgio proporcionan archivos grandes sin un límite en el tamaño de archivo. De forma predeterminada, se activan más características para agilizar la entrega de archivos grandes.

Relleno de la memoria caché completa

La característica de relleno de caché completa predeterminada permite que la red de entrega de contenido extraiga un archivo en la memoria caché cuando se abandona o se pierde una solicitud inicial.

El relleno de la memoria caché completa es más útil para los recursos grandes. Normalmente, los usuarios no los descargan de principio a fin. Usan la descarga progresiva. El comportamiento predeterminado fuerza al servidor perimetral para que inicie una captura de fondo del recurso desde el servidor de origen. Después, el recurso está en la caché local del servidor perimetral. Una vez que el objeto completo está en la memoria caché, el servidor perimetral cumple las solicitudes de intervalo de bytes a la red de entrega de contenido para el objeto almacenado en caché.

El comportamiento predeterminado se puede deshabilitar a través del motor de reglas de Azure CDN Premium desde Edgio.

Creación de archivos activos de llenado de la caché del mismo nivel

La característica de creación de archivos activos de llenado de la caché del mismo nivel usa un sofisticado algoritmo de su propiedad. Usa servidores perimetrales de almacenamiento en caché adicionales que se basan en métricas de solicitudes de ancho de banda y agregadas para responder a solicitudes de cliente de objetos grandes muy populares. Esta característica evita una situación en la que se envía un gran número de solicitudes adicionales al servidor de origen del cliente.

Condiciones para la optimización de archivos grandes

Las características de optimización de archivos grandes para Azure CDN Estándar de Edgio y Azure CDN Premium de Edgio se activan de forma predeterminada cuando se usa el tipo de optimización de distribución web general. No hay ningún límite en el tamaño de archivo máximo.

Otras consideraciones

Tenga en cuenta los aspectos siguientes con este tipo de optimización:

  • El proceso de fragmentación genera más solicitudes al servidor de origen. Pero el volumen global de datos que se entregan desde el origen es menor. La fragmentación da como resultado mejores características de almacenamiento en caché en la red de entrega de contenido.

  • La presión de memoria y E/S se reduce en el origen porque se entregan fragmentos más pequeños del archivo.

  • En el caso de los fragmentos almacenados en caché en la red de entrega de contenido, no hay otras solicitudes al origen hasta que expire el contenido o se desalojen de la memoria caché.

  • Los usuarios pueden realizar solicitudes de intervalo a la red de entrega de contenido, que se tratan como cualquier archivo normal. La optimización solo se aplica si es un tipo de archivo válido y el intervalo de bytes está comprendido entre 10 MB y 150 GB. Si el tamaño medio de los archivos solicitados es menor que 10 MB, use en su lugar la entrega web general.