Как провести стресс-тестирование сервера потокового видео?
Вопрос
Кто-нибудь знает какой-нибудь хороший инструмент, который я могу использовать для выполнения стресс-тестов на сервере потоковой передачи видео?Мне нужно проверить, насколько хорошо мой сервер обрабатывает более 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 + это коммерческий плагин который реалистично имитирует поведение игроков без каких-либо сценариев:
- Прямая трансляция Apple HTTP
- MPEG-DASH Потоковое вещание
- Плавная Потоковая передача видео
Этот плагин также предоставляет возможность имитировать Адаптивная Потоковая передача в Битрейте
Отказ от ответственности :Мы стоим за разработкой этого решения
Я также ищу тот же ответ, я сталкиваюсь со следующим инструментом, может быть, это кому-то поможет http://www.radview.com/Solutions/multimedia-load-testing.aspx
Этот инструмент используется для тестирования потокового видео.Надеюсь, это кому-нибудь поможет.Я обновлю ответ, если получу ответ получше.
Спасибо.
Это Анализатор ЗОЖ программное обеспечение может быть использовано для стресс-тестирования HTTP-сервера прямой трансляции и мониторинга производительности загрузки.