Der Mitteldeutsche Rundfunk ist eine Landesrundfunkanstalt und zuständig für Sachsen, Sachsen-Anhalt und Thüringen. Sein vielfältiges Programm in Fernsehen, Hörfunk und Internet spiegelt die Vielfalt und Identität Mitteldeutschlands wider. Der gesellschaftliche Auftrag des MDR umfasst Angebote der Information, Bildung, Beratung und Unterhaltung.
Geführt wird der MDR durch den oder die Intendantin sowie mehrere Direktorinnen und Direktoren. Rundfunkrat und Verwaltungsrat kontrollieren den MDR.
Der Mitteldeutsche Rundfunk (MDR) beauftragte uns mit einem Last- und Performancetest von ausgewählten Streaming-Servern. Ziel der Tests war es, die Belastungsgrenze pro Streamingserver, welche für das hauseigene Redaktionssystem “Resy” verwendet werden, zu verifizieren und etwaige Anomalien festzustellen.
Dabei geht es speziell um das Streaming von Proxy-Videos, wobei die entsprechenden Inhalte dieser Videos im Content-Management-System verwendet werden. Die durchgeführten Tests basieren auf der Annahme, dass auf einem produktiven Streamingserver maximal 200 Streams dieser Proxy-Videos beziehungsweise entsprechende Sessions gleichzeitig laufen können.
Im Rahmen eines Proof of Concepts wurde nach Prüfung der Umsetzbarkeit des Testvorhabens zunächst ein Testkonzept mit der groben Planung der Lasttests erstellt, welches als Leitfaden für die Projektumsetzung dient. Bei der Realisierung des Projekts waren sechs Personen an den Kernaufgaben der Testdurchführung beteiligt - eingeschlossen der Organisation, Administration und Überwachung. So muss beispielsweise neben der Vorbereitung (inklusive Bereitstellung der Testdaten) auch die Ausführung, Betreuung und Überwachung der Tests sichergestellt werden.
In der Produktivumgebung stehen drei Streamingserver mit vorgelagertem Loadbalancer zur Verfügung. Um bei den durchgeführten Lasttests eine Überschneidung mit der produktiven Last zu verhindern, ist auch eine detaillierte Absprache mit anderen beteiligten Abteilungen notwendig.
Das verwendete Testtool zur Simulation der Streams ist JMeter (Version 5.3) in Verbindung mit dem UBIK Load Pack Videostreaming Plugin (https://ubikloadpack.com/video-streaming-performance.php, Version 7.2.0) sowie dem Custom Thread Groups Plugin (Version 2.9). Eine Überwachung der Ressourcen wird mit Hilfe von Check MK (Enterprise Version 1.6.0 p 6) durchgeführt.
Das Testmaterial besteht aus 1000 gleichartigen und duplizierten 120minütigen Videos, welche auf einem separaten Server zum Abruf hinterlegt werden. Die entsprechenden mpd-Pfade (media presentation description) werden mit dem UBIK Videostreaming Plugin über JMeter eingelesen, um das Streaming zu simulieren. In Abbildung 1 ist die Einbindung der Testdaten als “Playlist Manifest URL” mittels des mpd-Parameters im Plugin zu erkennen.
Das Szenario für die Testdurchführung wird über die „Ultimate Thread Group“ zur Generierung der User beziehungsweise Streams festgelegt. Ein User entspricht dabei dem Aufruf eines Streams oder Videos. Der Fall eines Performancetests über 30 Minuten mit gleichbleibender Last von 200 zeitgleichen Streams (exklusiv auf einem Streamingserver) ist in Abbildung 2 dargestellt.
Der Start des jeweiligen Tests erfolgt über die Windows-Eingabeaufforderung. Während der Laufzeit des Tests wird der Lastgenerator über den Windows-Ressourcen-Monitor beobachtet. Die Streamingserver werden jeweils über ein internes Streaming-Dashboard sowie Check MK-Monitoring überwacht. Beim Hinzuschalten manueller Tests ist auch eine subjektive audio-visuelle Bewertung der Streams beziehungsweise Videos möglich.
Die Auswertung erfolgt über einen mit JMeter erstellten html-Report. Durch spezifische Streaming-Metriken wie “Lag Time” und “Buffer Time” ist ersichtlich, ob es beispielsweise zu Fehlern beim Laden von Audio- und Video-Segmenten, zu erhöhter Lagtime oder generell zu hohen initialen Ladezeiten unter der jeweiligen Last kommt. Auf dieser Grundlage kann anschließend beurteilt werden, in welchem Umfang weitere Tests zur Untersuchung aufgetretener Auffälligkeiten notwendig sind.
Mit den aufgezeigten Methoden und Metriken konnte die proficom GmbH die Belastungsgrenze der einzelnen Streamingserver sowie das zugrunde liegende Verhalten des Systems unter Normal- und Überlast beschreiben. In Zusammenarbeit mit dem MDR wurden die Ergebnisse analysiert sowie Handlungsempfehlungen, unter anderem für den Hersteller des Systems, formuliert.