Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Описание

Возможность захвата потока с другого WCS-сервера по WebRTC может быть полезна для нагрузочного тестирования. Тест проводится по следующему сценарию:

  1. На сервере 1 публикуется поток
  2. Сервер 2 создает заданное количество соединений (например, 100) с сервером 1 по Websocket, как браузерный клиент
  3. Сервер 2 захватывает поток в заданном количестве экземпляров, как зритель, создавая нагрузку на сервер 1.

Тестирование

1. Для теста используем:

  • два WCS-сервера: demo.flashphoner.com и wcs5-us.flashphoner.com;
  • веб-приложение Two Way Streaming для публикации потока;
  • веб-приложение Console для проведения теста;
  • браузер Chrome и расширение Allow-Control-Allow-Origin для работы веб-приложения Console.

2. Откройте приложение Console через HTTP (не через HTTPS!) http://demo.flashphoner.com:9091/client2/examples/demo/streaming/console/console.html

3. Установите расширение ACAO, разрешите Cross-Origin-Resource-Sharing

4. Введите имя сервера wcs5-us.flashphoner.com и нажмите 'Add node'. Данный сервер будет выполнять роль подписчика, захватывая потоки. Затем аналогично добавьте сервер demo.flashphoner.com, который будет выполнять роль тестируемого источника потоков.

5. Откройте приложение Two Way Streaming https://demo.flashphoner.com/client2/examples/demo/streaming/two_way_streaming/two_way_streaming.html, опубликуйте поток с веб-камеры

6. В приложении Console выберите сервер wcs5-eu.flashphoner.com, нажмите кнопку 'Pull streams', задайте параметры теста:

  • Choose node - выберите тестируемый сервер demo.flashphoner.com
  • Local stream name, Remote stream name - укажите имя опубликованного потока
  • Qty - укажите количество зрителей (например, 100)

 

7. Нажмите 'Pull'. Начнется тест.

8. Выберите сервер demo.flashphoner.com. На странице отображается список медиасессий, в которых воспроизводится опубликованный поток. В правом верхнем углу отображается информация о текущей нагрузке тестируемого сервера.

Тестирование Edge сервера в CDN

Тестирование Edge сервера в CDN проводится по следующему сценарию:

  1. На Origin сервере публикуются потоки
  2. Тестирующий сервер создает заданное количество соединений (например, 100) с сервером Edge по Websocket, как браузерный клиент
  3. Тестирующий сервер захватывает потоки, доступные Edge серверу, в заданном количестве экземпляров, как зритель, создавая нагрузку на сервер Edge и на CDN в целом, в части передачи потока с Origin на Edge.

Краткое руководство по тестированию Edge сервера

1. Для теста используем:

  • два WCS-сервера для развертывания CDN: test1.flashphoner.com и test2.flashphoner.com;
  • WCS-сервер для проведения теста demo.flashphoner.com
  • веб-приложение Two Way Streaming для публикации потока;
  • веб-приложение Console для проведения теста;
  • браузер Chrome и расширение Allow-Control-Allow-Origin для работы веб-приложения Console.

2. Разверните CDN, назначив серверам роли:

  • test1 - Origin
  • test2 - Edge

3. Откройте приложение Console через HTTP (не через HTTPS!) http://demo.flashphoner.com:9091/client2/examples/demo/streaming/console/console.html

4. Разрешите Cross-Origin-Resource-Sharing

5. Введите имя Edge сервера test2.flashphoner.com и нажмите 'Add node'. Данный сервер будет тестироваться. Затем аналогично добавьте сервер demo.flashphoner.com, который будет выполнять роль подписчика, захватывая потоки.

6. Откройте приложение Two Way Streaming, опубликуйте поток с веб-камеры

7. В приложении Console выберите сервер demo.flashphoner.com, нажмите кнопку 'Stress play stream', задайте параметры теста:

  • Choose node - выберите тестируемый сервер test2.flashphoner.com
  • Choose test mode - Random
  • CDN - установите переключатель
  • Max streams - укажите количество зрителей (например, 100)

7. Нажмите 'Start'. Начнется тест.

Рекомендации по настройке

Если тест не был пройден успешно, рекомендуется на тестируемом сервере изменить следующие настройки:

1. В файле flashphoner.properties расширить диапазон UDP-портов и запретить быстрый старт декодера

media_port_from = 20000
media_port_to = 39999
streaming_video_decoder_fast_start=false

2. В файле wcs-core.properties увеличить предельный размер памяти для кучи. Рекомендуется задавать этот размер в половину физической памяти, например, 16 Гб при объеме физической памяти в 32 Гб. Убедитесь, что памяти на сервер достаточно для этого:

-Xmx16g -Xms16g

Известные проблемы

1. По умолчанию, захватывается не более 1000 потоков

Симптомы: при указании количества зрителей более 1000, захватывается 998 потоков

Решение: по умолчанию, максимальное количество портов агентов ограничено 999:

wcs_agent_port_from=34001
wcs_agent_port_to=35000

Для расширения данного ограничения, необходимо увеличить значение

wcs_agent_port_to=35000

в файле flashphoner.properties.

  • No labels