В наши дни трудно представить себе средства массовой информации без использования аудио- и видеоконтента. Кроме того, все значимые события транслируются в прямом эфире для широкой аудитории по всему миру. Поскольку эта аудитория постоянно растет, это действительно важно для контент-провайдеров, чтобы быть в курсе качества их доставки потока средств массовой информации и знать переломный момент их потоковых услуг. Чтобы убедиться, что потоковый сервис может обрабатывать ожидаемую аудиторию, это хорошая идея, чтобы имитировать ряд пользователей, доступ к потоку мультимедиа.

Подходы к тестированию нагрузки

Существует несколько способов доставки аудио- или видеоконтента. Пользователи могут передавать мультимедиа в веб-браузере с помощью любого количества потоковых онлайн-сервисов, таких как YouTube или Netflix. С другой стороны, потоки мультимедиа можно получить через статические URL-адреса в браузере или в медиаплеерах, всегда говорят о сетевых соединениях и внешних связях, например, медиаплеер vLC. Поэтому для правильной настройки нагрузочных тестов следует выбрать правильный подход к тестированию нагрузки. В этой статье мы сосредоточимся на двух основных подходах к тестированию производительности и масштабируемости аудио- и потокового видео с помощью LoadView:

Тестирование загрузки статических потоковых мультимедиа на основе ссылок

Доступ к источнику потока может быть предоставлен статической ссылкой RTP на файл мультимедиа. Например, источник мультимедиа может быть связан непосредственно с HTML, подобно изображениям на веб-странице. Как правило, можно играть статический поток в любом браузере, который поддерживает соответствующие кодеки, или совместимым онлайн или настольным медиаплеером, таким как Windows Media Player или VLC.

Пример статических ссылок RTP:

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

Если у вас есть статическая ссылка RTP на файл источника мультимедиа или плейлист, рекомендуется настроить тест нагрузки streaming Media. LoadView ударит статический URL с рядом одновременных пользователей, пытающихся загрузить первые 30 секунд потока. Если исходный сервер недоступен или система не загрузила воспроизведение потока, будет допущена ошибка.

Обратите внимание, что в некоторых случаях ссылка rtP потока может быть сгенерирована случайным образом сервером для каждого нового сеанса потоковой передачи и не может использоваться в качестве статического URL потока при тестировании нагрузки. В этом случае выберите реальную стратегию тестирования нагрузки на основе браузера.

Тестирование нагрузки на основе реального браузера

Иногда URL-адрес медиафайла не является общедоступным. Например, приложение для потоковой передачи мультимедиа может потребовать проверки подлинности для воспроизведения потока. Поскольку URL-адрес потока доступен только для пользователей, он будет обновляться каждый раз, когда истекает срок действия токена аутентификации. С точки зрения тестирования нагрузки, это означает, что вам нужно предоставить учетные данные пользователя для доступа к файлу потока мультимедиа на каждом тестовом сеансе нагрузки.

В то же время многие поставщики медиаконтента используют плагины или встроенные отечественные видео-плееры (например, несвободный плеер YouTube) для потоковой передачи аудио- и видеоконтента. В этом случае ссылка на источник потоковой передачи недоступна непосредственно со страницы HTML.

В тех случаях, когда статическая ссылка RTP на источник мультимедиа недоступна, выбирайте тестирование пользовательского интерфейса веб-приложений в реальном браузере. Для этих целей LoadView предоставляет веб-регистратор EveryStep для захвата видео потокового мультимедиа в окне браузера.

Для создания теста нагрузки выберите тип тестирования загрузки web-приложений и заместив сценарий:

  1. В Everystep Web Recorder, перейдите на веб-страницу, которая содержит потоковое мультимедиа и выберите кнопку воспроизведения, чтобы начать потоковую передачу.
  2. Прекратите запись и нажмите OK во всплывающем окно, чтобы пропустить воспроизведение сценария.
  3. Перейдите в раздел Script Code в веб-регистраторе Everystep инажмите на последнюю строку скрипта.
  4. Из меню inline выберите Delay и навейте задержку в конце сценария. Система будет ждать воспроизведения потоковой передачи в течение указанного времени на тестовом запуске.
  5. Сохраните скрипт и приступайте к конфигурации сценария тестирования нагрузки.

Чтобы указать соответствующее значение задержки, примите во внимание скорость наращивания числа одновременных пользователей и тип потоковой передачи. Например, в случае тестирования живого потока пользователи, как правило, поток значительно дольше, чем воспроизведение сохраненных содержимого. Как правило, задержка должна быть достаточно длинной для имитации параллельной потоковой передачи.

После начала тестирования нагрузки просмотрите и просмотрите страницу потока мультимедиа. Такой подход позволяет поймать любые потери качества в аудио или видео под прикладной нагрузкой, поскольку они появляются для реальных пользователей в режиме реального времени.