Pergunta

Alguém sabe qualquer ferramenta boa que eu possa usar para executar testes de estresse em um servidor de streaming de vídeo? Eu preciso testar o quão bem os meus servidor lida com mais de 5.000 conexões.

Foi útil?

Solução

Uma opção é usar o VLC. Você pode especificar um url na linha de comando. (Veja aqui para detalhes). Você poderia, então, escrever um script shell breve para abrir todas as 5000 ligações.

por exemplo. o seguinte script perl (corte muito rápido -. verificação antes de executar, pode causar explosões etc)

$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 o seu streaming de vídeo servidor está fazendo multicast deve ser suficiente para sockets abertos e torná-los membros de suas 5000 multicast grupos (sem necessariamente fazer qualquer coisa com o fluxo. Por não realmente decodificar o fluxo de você irá reduzir problemas de desempenho no cliente final).

Eu não estou ciente de todas as ferramentas que vão fazer isso para você, mas se você está pronto para escrever seu próprio utilitário você pode começar a aqui para mais detalhes.

edit: A segunda opção pressupõe que o sistema operacional em sua máquina cliente tem capacidade de multicast. Menciono isso porque (de memória) que o kernel Linux não por padrão, e eu gostaria de poupar-lhe essa dor. : -)

Fácil maneira de dizer (novamente em Linux) é para verificar a presença de /proc/net/igmp

Outras dicas

iniciar o download 5000 + arquivos do mesmo tipo com diferentes conexões. Não realmente precisa para reproduzi-los, porque, essencialmente, o player de vídeo do cliente, flash, player de mídia Windows, etc. só vai estar fazendo um download. Então, se você servidor pode lidar com 5000 + downloads que você vai ficar bem. Minha aposta é a sua largura de banda dá antes de servidor.

Por infra-estrutura, você pode usar um SAAS JMeter ou o seu próprio servidor de nuvem para superar possíveis problemas de rede do seu injector.

Para reproduzir a experiência do usuário e ter métricas preciosas sobre a experiência do usuário, você pode usar Apache JMeter + este < a href = "https://ubikloadpack.com/" rel = "nofollow noreferrer"> comercial plug-in que simula realisticamente o comportamento Jogadores sem qualquer script:

Este plugin também fornecem a capacidade de simular Adaptive Bitrate Transmissão

Disclaimer: Nós estamos por trás do desenvolvimento desta solução

Eu também estou procurando a mesma resposta, me deparo com seguinte ferramenta pode ser que ajude alguém http://www.radview.com/Solutions/multimedia-load-testing.aspx

Esta ferramenta é usada para transmissão de vídeo de teste. Espero que ajude alguém. Vou atualizar a resposta se eu conseguir um melhor.

Graças.

Este HLS Analyzer software pode ser usado para testar o stress HTTP ao vivo Streaming server e monitorar o desempenho do download.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top