Una buena tarde de domingo, nuestra serie de televisión favorita regresa con su última temporada, y aquí nos preparamos para sumergirnos y consumir la tan esperada serie antes de que nos lleguen los spoilers. Para los consumidores, se ha vuelto tan fácil tomar su teléfono y disfrutar contenido en aplicaciones móviles o aplicaciones web. Los medios en streaming son accesibles con solo unos clics y toques. Abre la app y presiona reproducir. ¿Simple, rápido e instantáneo, verdad?
El consumo de video bajo demanda y transmisión en vivo se ha vuelto predominante en todo el mundo. Todos están dejando los DVD, proveedores de cable y reemplazándolos con suscripciones de streaming de video bajo demanda. Con este auge en la demanda, el rendimiento consistente y la calidad se convierten en un tema de preocupación. Ninguna de estas plataformas bajo demanda desea que sus consumidores tengan una experiencia tediosa. Pero para asegurarnos de que los usuarios obtengan este contenido de medios en streaming disponible sin interrupciones, con poco buffering y la más alta calidad, definitivamente tenemos que realizar pruebas de carga en estos contenidos multimedia con muchos usuarios presentes en diferentes ubicaciones geográficas y transmitiendo contenido durante mucho tiempo. Incluso la más mínima demora en el contenido o la calidad puede afectar la experiencia del cliente y reducir la base de usuarios.
Medios en Streaming y Métricas Clave de Pruebas de Carga
Primero, discutamos las métricas clave importantes que impactan el rendimiento de los medios en streaming.
Tasa de bits
La tasa de bits generalmente se calcula con el promedio de bytes por datos transferidos al usuario. Una tasa de bits alta significa que el usuario puede consumir contenido en alta resolución tanto en audio como en gráficos visuales. A veces podemos enfrentar latencia cuando hay diferencia de ubicación entre el lugar desde donde se obtiene el contenido (servidores de medios en streaming) y los usuarios están en diferentes ubicaciones geográficas, lo que afecta la tasa de bits general.
Tasa de reproducción
La tasa de reproducción se usa para calcular el número o porcentaje de usuarios que realmente reprodujeron el video. Si la tasa de bits está baja, también vemos una tasa de reproducción baja. Así que estas dos métricas van de la mano. Si el contenido no se carga dentro de los primeros 30 segundos, los usuarios tienden a cerrar el servicio de streaming, lo que generalmente representa una gran caída en la tasa de reproducción.
Tiempo de buffering
El tiempo de buffering es el tiempo que se tarda en cargar el contenido; depende de la latencia de la red y la velocidad de descarga del usuario. El cálculo del tiempo de buffering nos indica el tiempo que el usuario espera para que el contenido se cargue. Un aumento en el tiempo de buffering puede perjudicar la experiencia del usuario y es posible que deje de ver el contenido si este tiempo sobrepasa un umbral. El buffering también puede presentarse mientras se reproduce el video; usualmente, después de que el buffering termina, el medio comienza a reproducirse. La duración entre el contenido almacenado en buffer y la reproducción se llama lag length (duración del retraso). El lag length juega un papel importante durante la transmisión del medio; si este aumenta, afecta la continuidad general del streaming.
Tiempo de reproducción
El tiempo de reproducción es el tiempo que el usuario pasa consumiendo el contenido. Ayuda a entender cuánto tiempo, en promedio, un usuario pasa en la plataforma, y también refleja la experiencia e interés general del usuario en el video en streaming. Si últimamente disminuye nuestro tiempo de reproducción, es momento de mejorar el contenido multimedia en la plataforma.
Índice de lag
El índice de lag es la cantidad de tiempo de buffering sobre el tiempo real de visualización del contenido por parte del usuario. Ayuda a calcular la calidad general del medio de streaming. Debe estar lo más cerca posible de cero, aunque nunca llegará a ser cero. Siempre habrá un retraso inicial, pero la consistencia y continuidad del medio en streaming durante mucho tiempo deben mantenerse para obtener un tiempo de reproducción más alto.
Como discutimos estas métricas anteriormente, nos ayudan a monitorear cómo se comportan las aplicaciones de medios bajo carga. También se usan como métricas para mejorar el rendimiento general.
¿Por qué necesitamos probar desde diferentes ubicaciones geográficas?
Antes de responder por qué necesitamos probar con diferentes ubicaciones geográficas, discutamos en términos sencillos cómo se procesa la solicitud. Cuando el usuario hace clic en el botón Reproducir, se envía una solicitud a su proveedor de servicios de internet (ISP). El ISP la dirige a los servidores dedicados que gestionan el sitio web, y los servidores proporcionan una respuesta que se transmite de vuelta a tu computadora y forma el resultado. Para los grandes proveedores que ofrecen medios en streaming donde millones de horas de contenido de video se transmiten a través de internet entre sus servidores y todos los usuarios, se necesita una red mucho más grande de servidores para mantener el rendimiento.
Pero, ¿qué sucede si tus usuarios están en Los Ángeles intentando transmitir contenido disponible en servidores en Asia? Esto aumenta la latencia y puede afectar el rendimiento general del medio. Para resolver este problema, los proveedores de streaming utilizan Redes de Entrega de Contenido (CDNs), que toman el sitio original y el contenido multimedia que contiene, y lo copian en cientos de servidores distribuidos por todo el mundo. Así que, por ejemplo, cuando usuarios inician sesión desde Budapest, en lugar de conectarse al servidor principal en Estados Unidos, cargan una copia exacta desde un servidor CDN cercano a Budapest. Esto reduce mucho la latencia — el tiempo entre la solicitud y la respuesta — y todo se carga muy rápido.
¿Cuántos usuarios puede manejar mi stream?
Antes de que los usuarios reales lleguen a la plataforma, queremos probar la carga del medio en streaming para deducir qué tamaño de base de usuarios, distribuidos en diferentes ubicaciones, puede manejar nuestro medio con el valor más alto de tasa de bits, tasa de reproducción y con los valores más bajos de buffering e índice de lag. Para obtener el número de usuarios, necesitaríamos un script que comience con un número x de usuarios navegando en el medio y que aumentemos gradualmente la cantidad de usuarios hasta que comencemos a ver tiempos de espera de conexión o caída en la tasa de bits promedio. Incrementar usuarios simultáneos y monitorear los tiempos de espera de conexión nos dará el resultado de la cantidad máxima de usuarios que nuestra infraestructura actual puede manejar.
Planificar y crear un script que imite el comportamiento cercano al tiempo real de los usuarios en medios de streaming es una parte muy importante para obtener resultados precisos. Incluso necesitaremos una herramienta dedicada que pueda generar la carga y asegurarse de que el script no se rompa. Veremos LoadView para probar el caso exacto y entender cómo ayuda a probar más de 100 códecs diferentes de streaming de medios.
Ahora necesitamos probar la carga de estas ejecuciones y velocidad CDN y ver si enfrentamos alguna latencia causada por ellas, mientras se ejecuta el streaming con un gran número de usuarios simultáneos. Esto nos ayudará a comprender cómo, con un aumento en la base de usuarios desde diferentes ubicaciones comparado con donde reside el contenido en el servidor, probamos las métricas de rendimiento y nos da un escenario lo más cercano posible al real.
LoadView y características
LoadView es una aplicación de Software como Servicio (SaaS) que proporciona herramientas de prueba de carga y soporte para ejecutar pruebas de carga en la nube para páginas web, medios en streaming, servidores API de backend y otras aplicaciones web complejas.
Para ayudarnos a administrar y ejecutar pruebas de rendimiento para medios en streaming, LoadView proporciona infraestructura y scripts de prueba para probar la carga de nuestro medio y ver cuántas transmisiones concurrentes puede manejar nuestra infraestructura. Soporta más de 100 códecs de monitoreo de streams de medios y formatos de archivos, que proporciona una variedad de códecs de audio y video según nuestro medio en prueba.
LoadView ofrece múltiples opciones para probar medios en streaming, una es una prueba dedicada donde necesitamos pasar la URI del medio en streaming; otra utiliza el EveryStep Web Recorder para registrar todas las sesiones del navegador con medios, lo que ayuda a crear un script para luego ejecutar pruebas a mayor escala.
Características de LoadView
Tiempo de conexión
Proporciona informes en tiempo real con conteos de tiempos de espera de conexión para mostrar cómo se comporta la infraestructura bajo el número actual de usuarios simultáneos.
Tasa de cuadros
Proporciona detalles como la tasa de cuadros, que asegura la velocidad a la que se muestran las imágenes en los videos y verifica que no causen parpadeo o errores de visualización.
Tiempo de buffering
Nos ayuda a comprender los valores de tasa de rebote y tiempos de visualización altos con umbrales y alertas de tiempo de buffering.
Bytes promedio por segundo
LoadView monitorea la calidad de imagen en la salida de nuestro medio en streaming o video compartiendo métricas como la tasa de bits consumida por el usuario.
Prueba de carga de medios en streaming usando LoadView
Como discutimos arriba, LoadView ofrece dos opciones para probar la carga de nuestros medios: una con una URI de medio en streaming dedicado donde pasamos una URL de medio estático para la prueba, y otra con el grabador de scripts que captura la interacción del navegador en tiempo real con los medios y registra todas las acciones del usuario para crear un script. Este script grabado se usa para ejecutar pruebas de carga a mayor escala.
Discutiremos, paso a paso, la configuración para ambas formas diferentes, así como la ejecución de pruebas de carga para nuestros medios en streaming usando LoadView, que ofrece soporte para todos los formatos populares de archivos de streams de medios.
Configuración de medios en streaming en LoadView
Para crear un script de prueba de carga de medios en streaming, necesitaríamos un objetivo de medios que queramos validar bajo carga intensa. Se requerirá ingresar la URL de medios en streaming y la ruta del protocolo del medio, que sería la URI del recurso de medios. Especificaríamos ambos en nuestros escenarios de prueba. Los pasos generales a seguir al ejecutar una prueba de carga para medios son los siguientes:
Configuración de medios streaming: Paso 1
El usuario ingresa la URL del medio streaming y el tipo de medio.
Configuración de medios streaming: Paso 2
Según el medio bajo prueba, los generadores de carga intentarán consumirlo obteniendo el contenido desde la URL del media stream.
Configuración de medios streaming: Paso 3
Los streams tienen múltiples atributos como calidad, códecs, video, audio que serán obtenidos del servidor y las métricas para cada atributo se calcularán durante la ejecución de la prueba.
Configuración de medios streaming: Paso 4
Hay un tiempo de espera de conexión que se mencionará en el escenario de prueba; si el servidor de medios en streaming no puede enviar contenido dentro del umbral de tiempo estipulado, se generará un error que estará disponible en los resultados de la prueba.
Configuración de prueba de rendimiento de medios en streaming con LoadView
Veamos los pasos necesarios para ejecutar una prueba de carga de medios streaming.
Crear nueva prueba
Abre la página principal de pruebas de LoadView. Es posible que necesites hacer clic en New Test para comenzar a crear nuestra nueva prueba de carga.

Seleccionar tipo de prueba de carga
Verás todos los diferentes tipos de pruebas de carga que soporta LoadView como Web Applications, Web Pages, Streaming Media, HTTP/S, entre otras opciones. Para nuestro caso, selecciona la opción Streaming Media para ejecutar nuestra prueba de carga.

Configuración de tarea de medios en streaming
Después de elegir Streaming media, deberás ingresar detalles de la aplicación en prueba como tipo de medio y URL de streaming. También deberás ingresar el tiempo de espera para la aplicación bajo prueba. Si por alguna razón la aplicación deja de responder, LoadView esperará el intervalo establecido y luego finalizará la prueba con detalles de error apropiados. Una vez actualizado, haz clic en el botón Create Device.

Configuración del escenario de prueba
Una vez que el dispositivo para el cual ejecutaremos la prueba de carga esté configurado exitosamente, seremos redirigidos a la pantalla Test Scenario, que ofrece múltiples opciones según la prueba requerida. Campos como Concurrent Users, Ramp Up time, Ramp Up speed, Warm Up time y Geo-distribution para nuestra prueba de carga pueden definirse en la pantalla Test Scenario. Estos valores dependen del tipo de aplicación y se pueden establecer según el requerimiento de la prueba de carga.


Usuarios concurrentes para medios en streaming
En la pantalla Test Scenario, deberás agregar el número de usuarios concurrentes necesarios para realizar la prueba de carga. Se iniciarán inyectores de carga basados en la carga y el número de usuarios concurrentes requerida para la ejecución de la prueba. Tras la finalización exitosa de nuestra prueba de carga, se generarán análisis detallados e informes que ayudarán a evaluar y encontrar cualquier problema de rendimiento, así como a entender cómo se comportó el sistema durante la ejecución.
Tiempo de conexión
El tiempo de conexión es la diferencia entre iniciar una sesión de streaming y la reproducción del primer cuadro del video. Este tiempo se suma a nuestra métrica de índice de lag discutida anteriormente.
Duración
La duración es el tiempo total durante el cual el usuario consume contenido; también describe el tiempo que tarda el motor en capturar el contenido.
Calidad
La calidad se calcula por los bits consumidos por el usuario, lo que ayuda a entender la representación visual del media stream.
Cuadros por segundo
Los cuadros por segundo ayudan a calcular el número de cuadros descargados durante la prueba ejecutada.
Prueba de carga de medios en streaming con EveryStep Web Recorder
Esta sección nos ayuda a comprender cómo podemos probar la carga de sesiones reales de navegador que incluyen medios en streaming junto con el contenido habitual del sitio web. El EveryStep Web Recorder proporcionado con LoadView puede usarse para crear escenarios de prueba basados en el comportamiento real del usuario sobre aplicaciones web con contenido que involucra audio, video, reproducir/pausar video, reproductor de video compacto o expandido, entre otros. El grabador de scripts registra todas las acciones y ayuda a repetir la experiencia del usuario a mayor escala para obtener resultados de rendimiento lo más cerca posible del real. El grabador soporta todos los navegadores principales para ayudarnos a dar resultados de prueba de carga basados en diferentes navegadores. Podemos modificar y configurar los scripts creados por EveryStep durante la grabación según nuestras necesidades. Ayuda a escalar y trabajar con múltiples aplicaciones web usando Flash, JavaScript, WebSockets, HTML5, Java, PHP, Ruby, Silverlight y más. La configuración es similar a los pasos mencionados anteriormente, pero varía ligeramente al usar EveryStep Web Recorder. Los pasos para configurar una prueba de carga con el grabador de scripts son los siguientes:
- Crea una nueva prueba en LoadView y elige la opción Web Applications.
- Seremos redirigidos a la ventana de grabación del navegador, donde podremos elegir varios navegadores y URLs de aplicaciones. Ingresa los detalles de la aplicación y haz clic en Record.
- Cuando la grabación esté lista, podremos navegar la aplicación web como un usuario final y el grabador generará un script que podrá ser reproducido nuevamente utilizando los mismos pasos que perseguimos.
- Podemos agregar retrasos al script creado haciendo clic derecho en la última línea del script. Este retraso ayudará a que los escenarios de prueba esperen por el medio.
- Cuando terminemos, podemos hacer clic en Create Script y seremos redirigidos a la pantalla Test Scenario, donde podremos ingresar las ubicaciones geográficas necesarias para nuestra prueba, junto con el número de usuarios concurrentes necesarios y las velocidades de ramp up/ramp down.


Conclusión: Cómo probar la carga de medios streaming: Servidores, scripts y más
Con la reciente demanda de video y medios de streaming en vivo, y el tráfico sobre estos medios, desafía a las industrias a ofrecer el mejor servicio y calidad para mantenerse en el negocio. Asegurarse de estresar el streaming con anticipación es una necesidad y no puede ser descuidada. Hemos visto una guía paso a paso sobre cómo configurar un escenario de prueba y ejecutar una prueba de carga para nuestra aplicación de medios streaming con LoadView, que ofrece amplio soporte para códecs de audio y video y formatos de medios múltiples. También analizamos enfoques para probar la carga de la aplicación según necesidad. LoadView ofrece soporte amplio para la prueba de carga de contenidos multimedia con EveryStep Web Recorder y pruebas de carga dedicadas con URI de streaming.
Aprende más sobre cómo probar la carga de tu medio en streaming y regístrate para la prueba gratuita para realizar hasta 5 pruebas de carga gratuitas.