Domanda

Qualcuno conosce qualche buon strumento che posso usare per eseguire stress test su un server di streaming video? Devo verificare quanto bene il mio server gestisce oltre 5.000 connessioni.

È stato utile?

Soluzione

Un'opzione è usare VLC. È possibile specificare un URL dalla riga di comando. (vedi qui per dettagli). È quindi possibile scrivere un breve script shell per aprire tutte le 5000 connessioni.

ad es. il seguente script perl (hack molto veloce - controlla prima di eseguirlo, potrebbe causare esplosioni ecc.)

$i = 0;
$myurl = "udp://someurl";
@cmdline = ("/usr/bin/vlc", "");
for( $i = 1; $i <= 5000; $i++ )
{
    if( $pid = fork )
    {
        # parent - ignore
    }
    elsif( defined $pid )
    {
        $cmdline[1] = sprintf "%s:%d", $myurl, $i;
        exec(@cmdline);
    }
    # elseif - do more error checking here
}

Se il tuo server di streaming video sta eseguendo multicast, dovrebbe essere sufficiente aprire socket e renderli membri dei tuoi 5000 gruppi multicast (senza necessariamente fare nulla con lo stream. Non decodificando effettivamente lo stream ridurrai i problemi di prestazioni sul client fine).

Non sono a conoscenza di strumenti che lo facciano per te, ma se sei pronto a scrivere la tua utility puoi iniziare qui per i dettagli.

modifica: la seconda opzione presuppone che il sistema operativo sul computer client abbia funzionalità multicast. Lo dico perché (dalla memoria) il kernel di Linux non lo fa di default, e vorrei salvarti quel dolore. : -)

Un modo semplice per dire (sempre su Linux) è verificare la presenza di /proc/net/igmp

Altri suggerimenti

inizia a scaricare oltre 5000 file dello stesso tipo con connessioni diverse. Non è necessario riprodurli, perché essenzialmente il lettore video client, il flash, il lettore multimediale di Windows, ecc. Eseguiranno solo un download. Quindi, se il tuo server è in grado di gestire oltre 5000 download, starai bene. La mia scommessa è che la larghezza di banda viene distribuita prima del tuo server.

Per l'infrastruttura, è possibile utilizzare un SAM JMeter o il proprio server Cloud per superare eventuali problemi di rete dal proprio iniettore.

Per riprodurre l'esperienza utente e disporre di metriche preziose sull'esperienza utente, puoi utilizzare Apache JMeter + this < a href = "https://ubikloadpack.com/" rel = "nofollow noreferrer"> plugin commerciale che simula realisticamente il comportamento dei Giocatori senza script:

Questo plugin offre anche la possibilità di simulare Streaming adattivo al bitrate

Dichiarazione di non responsabilità: siamo alla base dello sviluppo di questa soluzione

Sto anche cercando la stessa risposta, mi imbatto nel seguente strumento potrebbe essere che aiuta qualcuno http://www.radview.com/Solutions/multimedia-load-testing.aspx

Questo strumento viene utilizzato per testare lo streaming video. Spero che aiuti qualcuno. Aggiornerò la risposta se ne avrò una migliore.

Grazie.

Questo HLS Analyzer può essere utilizzato per lo stress test HTTP Live Streaming server e monitoraggio delle prestazioni di download.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top