In der Vergangenheit war es ein riesen Problem, den Flash Media Server zu “Load testen”, denn klassische Load-Testing Tools unterstützen nicht das RTMP Format und man hätte sich eine eigene Flash-Anwendung dafür schreiben müssen und diese dann ferngesteuert auf mehreren PCs starten müssen (so ähnlich wie bei dem Stress-Testing Framework für die Flex / LiveCycle Data Services …).
Nun, jetzt ist das viel einfacher, denn mit Flash Media Server 3 wird das Tool fmscheck.exe (befindet sich im Tools Verzeichnis ausgeliefert). Dies ist eine EXE-Datei, die über die Kommandozeile gestartet wird, dadurch läßt sie sich hervorragend über einen Batch steuern.
Ich habe zwei Batches vorbereitet, einer für eine LIVE- und einer für ein VOD-Szenario:
Für ein VOD-Szenario (Applikation “vod” mit VideoFile “vidfile” muss vorhanden sein):
set /A counter = 0
:start
start /B fmscheck.exe –host localhost –app vod –play vidfile 0 all –timeout 360
set /A counter = %counter% + 1
IF %counter% LEQ 100 goto :start
Für ein LIVE-Szenario: (Applikation “live” mit dem Stream “livestream” muss vorhanden sein)
set /A counter = 0
:start
start /B fmscheck.exe –host localhost –app live –play livestream any all –timeout 36000
set /A counter = %counter% + 1
IF %counter% LEQ 100 goto :start
Beide Batches starten 100 Instanzen von fmscheck.exe. Auf der Flash Media Server Console kann man dann prima alles beobachten. Für einen richtigen Loadtest sollte man natürlich die Batches auf mehreren Client-PCs gegen einen Server starten und es macht natürlich nur Sinn, dieses innerhalb eines LANs mit 1 GBit zu machen, sonst reicht die Bandbreite nicht …
PS: FMSCheck.exe funktioniert auch gegen einen FMS2 Server. Somit kann man auch diesen Load testen und sich basierend auf fundierten Zahlen gleich für ein Update auf FMS3 entscheiden, denn der ist 200% performanter …