Un beau dimanche soir, notre série télévisée préférée revient avec sa dernière saison, et nous nous préparons à la regarder pour consommer la série tant attendue avant que des spoilers ne nous atteignent. Pour les consommateurs, il est devenu si facile de prendre leur téléphone et de profiter du contenu sur des applications mobiles ou des applications web. Le streaming média est accessible en quelques clics et tapotements. Ouvrez l’application et lancez la lecture. Simple, rapide et instantané, n’est-ce pas ?
La consommation de vidéo à la demande et de streaming en direct est devenue omniprésente à travers le monde. Tout le monde abandonne les DVD, les fournisseurs de câble, et les remplace par des abonnements de streaming vidéo à la demande. Avec cet essor de la demande, la performance constante et la qualité deviennent des sujets de préoccupation. Aucune de ces plateformes à la demande ne souhaiterait que ses consommateurs vivent une expérience médiocre. Mais pour s’assurer que les utilisateurs disposent de ce média en streaming de manière fluide, avec moins de mise en mémoire tampon et la meilleure qualité, nous devons absolument réaliser des tests de charge de ce contenu média avec de nombreux utilisateurs présents à différentes localisations géographiques et diffusant du contenu pendant une longue durée. Même le moindre retard dans le média ou la qualité peut nuire à l’expérience client et faire chuter la base d’utilisateurs.
Média en streaming et principaux indicateurs de test de charge
Discutons d’abord des indicateurs clés importants qui impactent la performance des médias en streaming.
Taux de bits
Le taux de bits est généralement calculé avec la moyenne des octets de données transférés à l’utilisateur. Un taux de bits plus élevé signifie que l’utilisateur peut consommer un contenu en haute résolution, tant en audio qu’en graphismes visuels. Parfois, nous pouvons rencontrer une latence lorsque la différence de localisation entre le lieu de contenu récupéré (serveurs de médias en streaming) et les utilisateurs est importante, ce qui affecte le taux de bits global.
Taux de lecture
Le taux de lecture sert à calculer le nombre ou le pourcentage d’utilisateurs qui ont effectivement lu la vidéo. Si le taux de bits est faible, on observe également un faible taux de lecture. Ces deux indicateurs vont donc de pair. Si le contenu ne se charge pas dans les 30 premières secondes, les utilisateurs ont tendance à fermer le service de streaming, ce qui entraîne généralement une forte chute du taux de lecture.
Temps de mise en mémoire tampon
Le temps de mise en mémoire tampon est le temps consacré au chargement du contenu. Il dépend de la latence du réseau et de la vitesse de téléchargement des données de l’utilisateur. Le calcul du temps de mise en mémoire tampon nous indique le temps que l’utilisateur passe à attendre le chargement du contenu. Une augmentation du temps de mise en mémoire tampon peut nuire à l’expérience utilisateur globale, qui peut même arrêter de regarder le contenu si ce temps dépasse un certain seuil. La mise en mémoire tampon peut également intervenir lors de la lecture de la vidéo ; généralement, après la mise en mémoire tampon, le média commence à jouer. La durée entre le contenu mis en mémoire tampon et la lecture du média est appelée durée de décalage (lag length). La durée de décalage joue un rôle important pendant la diffusion en continu. Si elle augmente, cela affecte la continuité globale du streaming.
Durée de lecture
La durée de lecture est le temps que l’utilisateur passe à consommer le contenu. Elle aide à comprendre combien de temps un utilisateur moyen passe sur la plateforme et reflète également l’expérience globale et l’intérêt de l’utilisateur pour la vidéo en streaming. Si récemment notre durée de lecture diminue, il est grand temps d’améliorer le contenu média sur la plateforme.
Ratio de décalage
Le ratio de décalage est le temps de mise en mémoire tampon par rapport au temps réel passé à visionner le contenu par l’utilisateur. Il aide à évaluer la qualité globale du média en streaming. Il doit être aussi proche de zéro que possible, mais ne peut jamais atteindre zéro. Il y aura toujours un léger décalage initial, mais la consistance et la continuité du média en streaming sur une longue durée doivent être maintenues pour obtenir une durée de lecture plus élevée.
Comme nous l’avons discuté pour ces indicateurs, ils nous aident à surveiller le comportement des applications médias sous charge. Ils servent également d’indicateurs pour améliorer la performance globale.
Pourquoi devons-nous tester depuis différentes localisations géographiques ?
Avant de répondre pourquoi il est nécessaire de tester avec différentes localisations géographiques, expliquons simplement comment la requête est traitée. Lorsque l’utilisateur clique sur le bouton Lecture, une requête est envoyée à votre fournisseur d’accès internet (FAI). Celui-ci la transfère aux serveurs dédiés qui gèrent le site web, et ces serveurs fournissent une réponse qui est renvoyée à votre ordinateur et forme le résultat. Pour les grandes entreprises fournissant des médias en streaming où des millions d’heures de contenu vidéo sont transmises via internet entre leurs serveurs et tous les utilisateurs, un réseau beaucoup plus important de serveurs est nécessaire pour maintenir la performance.
Mais que se passe-t-il si vos utilisateurs sont à Los Angeles et essaient de diffuser un contenu stocké sur des serveurs en Asie ? Cela augmente la latence et peut impacter la performance globale du média. Pour résoudre ce problème, les fournisseurs de streaming utilisent des réseaux de diffusion de contenu (CDN), qui prennent le site web original et le contenu média qu’il contient, et le copient sur des centaines de serveurs répartis dans le monde entier. Ainsi, lorsque, par exemple, des utilisateurs se connectent depuis Budapest, au lieu de se connecter au serveur principal aux États-Unis, ils chargent une copie exacte depuis un serveur CDN le plus proche de Budapest. Cela réduit considérablement la latence — le temps entre la requête et la réponse — et tout se charge très rapidement.
Combien d’utilisateurs mon flux peut-il gérer ?
Avant que les utilisateurs réels n’arrivent sur la plateforme, nous souhaitons tester la charge du média en streaming pour déduire la taille de la base d’utilisateurs répartis sur différentes localisations que notre streaming peut gérer avec la meilleure valeur de taux de bits, taux de lecture, et les plus faibles valeurs de mise en mémoire tampon et de ratio de décalage. Pour obtenir ce nombre d’utilisateurs, nous aurions besoin d’un script qui commence avec x nombre d’utilisateurs naviguant sur le média en streaming et nous aurons besoin d’augmenter graduellement le nombre d’utilisateurs jusqu’à voir des délais d’attente de connexion ou une chute du taux de bits moyen. Augmenter le nombre d’utilisateurs simultanés et suivre les délais d’attente de connexion nous donnera le résultat du nombre maximum d’utilisateurs que notre infrastructure actuelle peut gérer.
Planifier et créer un script qui imite un comportement utilisateur quasi temps réel sur le média en streaming est une partie très importante pour obtenir des résultats précis. Nous aurons également besoin d’un outil dédié capable de générer la charge et d’assurer que le script ne se casse pas. Nous allons regarder LoadView pour tester ce cas d’usage exact et comprendre comment il aide à tester plus de 100 codecs différents de streaming média.
Maintenant, nous devons tester la charge de ces exécutions et vitesses CDN et voir si nous rencontrons une latence à cause de cela, lors de la diffusion de médias en streaming avec un grand nombre d’utilisateurs simultanés. Cela nous aidera à comprendre, avec l’augmentation de la base d’utilisateurs depuis différents emplacements par rapport à où le contenu réside sur le serveur, à tester les indicateurs de performance et nous donner le scénario le plus proche du temps réel.
LoadView & Fonctions
LoadView est une application Software as a Service (SaaS) qui fournit des outils et un support de test de charge pour exécuter des tests de charge basés sur le cloud pour des pages web, médias en streaming, serveurs API back-end, et d’autres applications web complexes.
Pour nous aider à gérer et exécuter des tests de performance pour les médias en streaming, LoadView fournit une infrastructure et un script de test pour tester la charge de nos médias en streaming afin de voir combien de flux simultanés notre infrastructure peut gérer. Il prend en charge plus de 100 codecs de surveillance de flux média et formats de fichiers multimédias, offrant une gamme de codecs audio et vidéo selon notre média testé.
LoadView offre plusieurs options pour tester les médias en streaming, l’une est un test dédié où nous devons passer l’URI du média en streaming et l’autre implique l’utilisation du EveryStep Web Recorder pour enregistrer toutes les sessions utilisateur navigateur avec le média, ce qui aide à créer un script et à le relancer pendant le test de charge à une plus grande échelle.
Fonctions de LoadView
Temps de connexion
Il fournit des rapports en temps réel avec des comptes de délais d’attente de connexion pour montrer comment l’infrastructure se comporte sous le nombre actuel d’utilisateurs simultanés.
Taux d’images
Il fournit des détails tels que le taux d’images qui assure le rythme auquel les images dans les vidéos sont affichées et vérifie qu’elles ne provoquent pas de scintillement ou d’erreurs de visionnage.
Temps de mise en mémoire tampon
Nous aide à comprendre les valeurs des taux de rebond et des temps de visionnage élevés avec des seuils et alertes de temps de mise en mémoire tampon.
Octets moyens par seconde
LoadView surveille la qualité de l’image dans la sortie de notre média en streaming ou des vidéos en partageant des indicateurs comme le taux de bits consommé par l’utilisateur.
Test de charge des médias en streaming avec LoadView
Comme discuté ci-dessus, LoadView offre deux options pour tester la charge de nos médias en streaming, une avec une URI dédiée de média en streaming où nous passons une URL média statique pour exécuter le test de charge, et une autre avec l’enregistreur de script qui capte l’interaction en temps réel du navigateur avec le média et enregistre toutes les actions effectuées par l’utilisateur pour créer un script. Ce script enregistré est utilisé pour exécuter des tests de charge à plus grande échelle.
Nous allons discuter, étape par étape, de la configuration pour ces deux méthodes différentes, ainsi que de l’exécution des tests de charge pour nos médias en streaming utilisant LoadView, qui offre un support pour tous les formats populaires de fichiers de flux média.
Configuration du média en streaming dans LoadView
Pour créer un script de test de charge de média en streaming, nous aurions besoin d’une cible de média en streaming que nous souhaitons valider sous charge lourde. Il faudra entrer l’URL du média en streaming et le chemin du protocole pour le média, qui sera l’URI de la ressource média. Ces deux éléments seront spécifiés dans nos scénarios de test. Les étapes globales impliquées lors de l’exécution d’un test de charge pour les médias en streaming incluent les étapes ci-dessous :
Configuration du média en streaming : Étape 1
L’utilisateur entre l’URL du média en streaming et le type de média.
Configuration du média en streaming : Étape 2
Selon le média testé, les générateurs de charge tenteront de consommer en récupérant le contenu depuis l’URL du média en streaming.
Configuration du média en streaming : Étape 3
Les flux ont plusieurs attributs tels que qualité, codecs, vidéo, audio qui seront récupérés depuis le serveur et les indicateurs pour chaque attribut seront calculés pendant l’exécution du test.
Configuration du média en streaming : Étape 4
Un délai d’attente de connexion sera mentionné dans le scénario de test. Si le serveur de média en streaming ne peut pas envoyer le contenu dans le délai imparti, une erreur sera générée et disponible dans les résultats du test.
Configuration de test de performance de streaming média LoadView
Regardons les étapes nécessaires pour exécuter un test de charge de média en streaming.
Créer un nouveau test
Ouvrez la page d’accueil de LoadView. Il faudra peut-être cliquer sur Nouveau test pour commencer à créer notre nouveau test de charge.

Sélectionner le type de test de charge
Nous verrons tous les différents types de tests de charge supportés par LoadView comme Applications Web, Pages Web, Médias en streaming, HTTP/S, parmi d’autres options. Pour notre cas, sélectionnez l’option Médias en streaming pour exécuter notre test de charge.

Configurer la tâche média en streaming
Après avoir choisi Médias en streaming, il faudra entrer les détails de l’application testée comme le type de média et l’URL du média en streaming. Nous devrons également entrer un délai d’attente pour l’application testée. Si pour une raison quelconque, l’application devient non réactive, LoadView attendra l’intervalle défini puis terminera le test avec les détails d’erreur appropriés. Une fois mis à jour, nous devons cliquer sur le bouton Créer le dispositif.

Configuration du scénario de test
Une fois le dispositif pour lequel le test de charge sera exécuté configuré avec succès, nous serons redirigés vers l’écran Scénario de test, qui offre plusieurs options selon les besoins d’exécution du test. Des champs comme Utilisateurs simultanés, Temps de montée en charge, Vitesse de montée en charge, Temps d’échauffement et Géodistribution pour notre test de charge peuvent être définis sur l’écran Scénario de test. Ces valeurs dépendent du type d’applications et peuvent être réglées selon les besoins du test de charge.


Utilisateurs simultanés média en streaming
Sur l’écran Scénario de test, il faudra ajouter le nombre d’utilisateurs simultanés nécessaires pour exécuter le test de charge. Des injecteurs de charge seront lancés selon la charge et le nombre d’utilisateurs simultanés requis pour l’exécution du test. À la fin réussie de notre test de charge, une analyse détaillée et des rapports seront générés, ce qui aidera à évaluer et trouver d’éventuels défauts de performance, ainsi que la manière dont le système s’est comporté durant notre test.
Temps de connexion
Le temps de connexion est le temps écoulé entre l’initiation d’une session de streaming et la lecture de la première image de la vidéo en streaming. Ce temps s’ajoute à notre métrique de ratio de décalage discutée précédemment.
Durée
La durée est le temps total pendant lequel le contenu est consommé par l’utilisateur, elle décrit également le temps nécessaire au moteur pour capturer le contenu.
Qualité
La qualité est calculée en fonction du taux de bits consommé par l’utilisateur, ce qui aide à comprendre la représentation visuelle du média diffusé.
Images par seconde
Les images par seconde nous aident à calculer le nombre d’images téléchargées pendant le test.
Test de charge des médias en streaming avec EveryStep Web Recorder
Cette section nous aide à comprendre comment tester la charge des sessions navigateur réelles intégrant des médias en streaming avec le contenu habituel d’un site web. L’EveryStep Web Recorder fourni avec LoadView peut être utilisé pour créer des scénarios de test basés sur le comportement réel des utilisateurs sur une application web contenant du contenu, incluant consommation audio, vidéo, lecture/pause vidéo, lecteur vidéo compact ou étendu en streaming. L’enregistreur de scripts enregistre toutes les actions et aide à relancer l’expérience utilisateur à plus grande échelle pour obtenir des résultats de performance proches du réel depuis l’application web. L’enregistreur supporte tous les navigateurs majeurs pour nous permettre de fournir des résultats de test de charge selon différents navigateurs. Nous pouvons modifier et configurer les scripts créés par EveryStep pendant l’enregistrement selon nos besoins. Cela nous permet de scaler et de travailler avec plusieurs applications web utilisant Flash, JavaScript, WebSockets, HTML5, Java, PHP, Ruby, Silverlight, et plus encore. La configuration est similaire aux étapes mentionnées ci-dessus, mais varie légèrement avec l’utilisation de EveryStep Web Recorder. Les étapes de configuration d’un test de charge avec l’enregistreur de scripts sont les suivantes :
- Créer un nouveau test sur LoadView et choisir l’option Applications Web.
- Nous serons redirigés vers la fenêtre d’enregistrement du navigateur, où nous pouvons choisir différents navigateurs et URL d’applications. Entrez les détails des applications et cliquez sur Enregistrer.
- Une fois l’enregistrement prêt, nous pouvons naviguer sur l’application web comme un utilisateur final le ferait et l’enregistreur de scripts nous aidera à générer un script qui pourra être rejoué en suivant les mêmes étapes que nous avons suivies.
- Nous pouvons ajouter des délais dans le script créé en cliquant droit sur la dernière ligne du script. Ce délai aidera les scénarios de test à attendre le média.
- Une fois terminé, nous pouvons cliquer sur Créer le script et serons redirigés vers l’écran Scénario de test, où nous pourrons entrer les localisations géographiques nécessaires pour notre test, ainsi que le nombre d’utilisateurs simultanés requis et les vitesses de montée/descente en charge.


Conclusion : Comment tester la charge des médias en streaming : serveurs, scripts & plus
Avec la demande récente de vidéo et de médias en streaming en direct, et le trafic sur ces supports, les industries sont mises au défi de fournir le meilleur service et la qualité pour rester en activité. Il est indispensable de stresser les médias en streaming en amont et cela ne peut être négligé. Nous avons vu un guide étape par étape sur comment configurer un scénario de test et exécuter un test de charge sur notre application média en streaming avec LoadView, qui offre un support étendu pour les codecs audio, vidéo et les formats multiples de médias. Nous avons également vu des approches pour tester la charge selon les besoins. LoadView offre un support étendu pour les tests de charge de contenu média en streaming en utilisant l’EveryStep Web Recorder et un test de charge dédié avec une URI de média en streaming.
En savoir plus sur le test de charge de votre média en streaming et inscrivez-vous à la version d’essai gratuite pour bénéficier de jusqu’à 5 tests de charge gratuits.