Hoje em dia, é difícil imaginar mídia de comunicação sem usar conteúdo de áudio e vídeo. Além disso, todos os eventos significativos são transmitidos ao vivo para um grande público em todo o mundo. Como esse público está em constante crescimento, é muito importante que os provedores de conteúdo estejam cientes da qualidade de sua entrega de streaming de mídia e saibam o ponto de ruptura de seus serviços de streaming. Para garantir que um serviço de streaming possa lidar com um público esperado, é uma boa ideia simular um número de usuários acessando o fluxo de mídia.

Abordagens de teste de carga

Existem várias maneiras pelas quais o conteúdo de áudio ou vídeo pode ser entregue. Os usuários podem transmitir mídia em um navegador da Web usando qualquer número de serviços de streaming de mídia online, como YouTube ou Netflix. Por outro lado, os fluxos de mídia podem ser acessados através de URLs estáticas em um navegador ou nos players de mídia que suportam conexão de rede e links externos, por exemplo, o reprodução de mídia VLC. Portanto, a abordagem de teste de carga correta deve ser escolhida para configurar um teste de carga corretamente. Neste artigo, nos concentraremos em duas abordagens principais para testar o desempenho e a escalabilidade do serviço de streaming de áudio e vídeo usando o LoadView:

  • Testes de carga de mídia de streaming usando um caminho real de recursos de mídia.
  • Testes reais de carga baseados em navegador.

Teste de carga de mídia de streaming estática e baseada em link

O acesso a uma fonte de fluxo pode ser fornecido por um link RTP estático para o arquivo de mídia. Por exemplo, a fonte de mídia pode ser vinculada diretamente do HTML, semelhante às imagens em uma página da Web. Geralmente, pode-se reproduzir um fluxo estático em qualquer navegador que suporte os codecs correspondentes, ou por um player de mídia on-line ou desktop compatível, como o Windows Media Player ou o VLC.

Exemplo de links RTP estáticos:

https://multiplatform-f.akamaihd.net/i/multi/will/bunny/big_buck_bunny_,640x360_400,640x360_700,640x360_1000,950x540_1500,.f4v.csmil/master.m3u8
https://cph-msl.akamaized.net/hls/live/2000341/test/master.m3u8

Se você tiver um link RTP estático para o arquivo de origem de mídia ou lista de reprodução, é recomendável configurar um teste de carga do Streaming Media. O LoadView atingirá a URL estática com um número de usuários simultâneos tentando baixar os primeiros 30 segundos do fluxo. Se o servidor de origem não estiver disponível ou o sistema não baixar a reprodução do fluxo, um erro será gerado.

Observe que, em alguns casos, um link RTP de fluxo pode ser gerado aleatoriamente pelo servidor para cada nova sessão de streaming e não pode ser usado como uma URL de fluxo estático em testes de carga. Neste caso, selecione uma estratégia real de teste de carga baseada no navegador.

Teste de carga baseado em navegador real

Às vezes, uma URL de arquivo de mídia não está disponível publicamente. Por exemplo, um aplicativo de fluxo de mídia pode exigir autenticação para reproduzir o fluxo. Uma vez que a URL do fluxo está disponível apenas para usuários conectados, ela será atualizada sempre que o token de autenticação expirar. Em termos de teste de carga, significa que você precisa fornecer as credenciais do usuário para acessar o arquivo de fluxo de mídia em cada sessão de teste de carga.

Ao mesmo tempo, muitos provedores de conteúdo de mídia usam plugins ou jogadores de vídeo nativos incorporados (por exemplo, player proprietário do YouTube) para transmitir conteúdo de áudio e vídeo. Neste caso, o link para a fonte de streaming não está disponível diretamente da página HTML.

Nos casos em que um link RTP estático para uma fonte de mídia não estiver disponível, opte pelo teste de interface do usuário do aplicativo web em um navegador real. Para esses fins, o LoadView fornece o EveryStep Web Recorder para capturar o vídeo de streaming de mídia na janela do navegador.

Para criar o teste de carga, selecione o tipo de teste de carga de aplicações da Web e grave o script:

  1. No Everystep Web Recorder,navegue até a página da Web que contém uma mídia de streaming e selecione o botão de reprodução para iniciar o streaming.
  2. Pare de gravar e clique em OK no pop-up para pular a reprodução do script.
  3. Vá para a seção Código de Script no Everystep Web Recordere clique com o botão direito do mouse na última linha de script.
  4. No menu inline, selecione Delay e configure o atraso no final do script. O sistema aguardará a reprodução de streaming durante a duração do tempo especificado em um teste.
  5. Salve o script e prossiga com a configuração do cenário do teste de carga.

Para especificar um valor de atraso adequado, leve em conta a taxa de ramp-up do número de usuários simultâneos e o tipo de streaming. Por exemplo, no caso de testar uma transmissão ao vivo, os usuários tendem a transmitir consideravelmente mais tempo do que reproduzir conteúdo salvo. Em geral, o atraso deve ser longo o suficiente para simular o streaming simultâneo.

Uma vez iniciado o teste de carga, navegue e revise a página de fluxo de mídia. Esta abordagem permite que você pegue quaisquer perdas de qualidade em áudio ou vídeo sob carga aplicada à medida que aparecem para usuários reais em tempo real.