Как провести стресс-тестирование сервера потокового видео?

StackOverflow https://stackoverflow.com/questions/151392

  •  02-07-2019
  •  | 
  •  

Вопрос

Кто-нибудь знает какой-нибудь хороший инструмент, который я могу использовать для выполнения стресс-тестов на сервере потоковой передачи видео?Мне нужно проверить, насколько хорошо мой сервер обрабатывает более 5000 подключений.

Это было полезно?

Решение

Одним из вариантов является использование VLC.Вы можете указать URL-адрес в командной строке.(см . здесь для получения подробной информации).Затем вы могли бы написать краткий сценарий командной строки, чтобы открыть все 5000 подключений.

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

$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
}

Если ваш сервер потоковой передачи видео выполняет многоадресную рассылку, этого должно быть достаточно, чтобы открыть сокеты и сделать их членами ваших 5000 групп многоадресной рассылки (не обязательно что-либо делать с потоком.Фактически не декодируя поток, вы уменьшите проблемы с производительностью на стороне клиента).

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

Редактировать:Второй вариант предполагает, что операционная система на вашем клиентском компьютере имеет возможность многоадресной рассылки.Я упоминаю об этом, потому что (по памяти) ядро Linux по умолчанию этого не делает, и я хотел бы избавить вас от этой боли.:-)

Простой способ определить это (опять же в Linux) - проверить наличие /proc/net/igmp

Другие советы

начните загружать более 5000 файлов одного и того же типа с разными подключениями.На самом деле их не нужно воспроизводить, потому что по сути это клиентский видеоплеер, flash, проигрыватель Windows media и т.д.буду просто выполнять загрузку.Так что, если ваш сервер сможет обработать более 5000 загрузок, у вас все будет в порядке.Держу пари, что ваша пропускная способность заканчивается раньше, чем вы подключаетесь к серверу.

Что касается инфраструктуры, вы можете использовать либо JMeter SAAS, либо свой собственный облачный сервер для устранения возможных сетевых проблем, связанных с вашим инжектором.

Чтобы воспроизвести пользовательский опыт и получить ценные показатели пользовательского опыта, вы можете использовать Apache JMeter + это коммерческий плагин который реалистично имитирует поведение игроков без каких-либо сценариев:

Этот плагин также предоставляет возможность имитировать Адаптивная Потоковая передача в Битрейте

Отказ от ответственности :Мы стоим за разработкой этого решения

Я также ищу тот же ответ, я сталкиваюсь со следующим инструментом, может быть, это кому-то поможет http://www.radview.com/Solutions/multimedia-load-testing.aspx

Этот инструмент используется для тестирования потокового видео.Надеюсь, это кому-нибудь поможет.Я обновлю ответ, если получу ответ получше.

Спасибо.

Это Анализатор ЗОЖ программное обеспечение может быть использовано для стресс-тестирования HTTP-сервера прямой трансляции и мониторинга производительности загрузки.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top