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

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

йоу привет. :) просто отправьте запрос на свои фб фды и попросите их сделать за вас стресс-тест. :) j / k

murvinlai 04.04.2011 23:18

ха-ха, на самом деле это хорошая идея, мрувин;)

Alvin 04.04.2011 23:23

простите за вторжение, а что такое fb-fds?

Vineet Menon 02.01.2012 16:24
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
22
3
26 414
6
Перейти к ответу Данный вопрос помечен как решенный

Ответы 6

начать скачивать 5000+ файлов одного типа с разными подключениями. На самом деле не нужно их воспроизводить, потому что по сути клиентский видеоплеер, флеш-память, проигрыватель Windows Media и т. д. Будут просто загружать. Так что, если ваш сервер может обрабатывать более 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 групп многоадресной рассылки (не обязательно что-либо делать с потоком. Фактически не декодируя поток, вы уменьшите проблемы с производительностью на стороне клиента).

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

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

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

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

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

Спасибо.

Это программное обеспечение Анализатор HLS можно использовать для стресс-тестирования сервера HTTP Live Streaming и мониторинга производительности загрузки.

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

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

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

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

Был выпущен новый плагин для JMeter, который помогает имитировать сценарий HLS с использованием только одного настраиваемого семплера. Теперь вам не нужно несколько семплеров HTTP-запросов, контроллеров ForEach или постпроцессоров RegEx. Это делает весь процесс намного проще, чем раньше.

Вместо этого вся логика полностью инкапсулирована, поэтому вам нужно заботиться только о сценарии использования: типе мультимедиа, времени воспроизведения и условиях сети. Вот и все! Плагин совершенно новый, и его можно установить через JMeter Plugins Manager.

Здесь вы можете узнать об этом подробнее:

https://abstracta.us/blog/performance-testing/how-to-run-video-streaming-performance-tests-on-hls/

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