Скрипты для тестирования максимального количества WebRTC публикаций/подписчиков¶
В сборке 5.2.1766 добавлены скрипты для нагрузочного тестирования WCS на максимальное число публикаций или подписчиков. Скрипты написаны на bash и используют REST API для публикации и захвата потоков с тестируемого WCS сервера. Скрипты располагаются в каталоге /usr/local/FlashphonerWebCallServer/tools
Для нагрузочного тестирования необходимы:
- тестируемый WCS сервер
- тестирующий WCS сервер
- средство публикации исходного потока (например, OBS для публикации RTMP, или пример Media Devices для публикации WebRTC)
Attention
Обратите внимание, что производительность тестирующего сервера должна быть минимум вдвое больше, чем тестируемого, в противном случает сам тестирующий сервер станет узким местом в нагрузочном тесте.
Тестирование максимального количества WebRTC публикаций¶
Тестирование максимального количества публикаций проводится при помощи скрипта
-
Для теста используются:
test1.flashphoner.com- тестируемый WCS серверtest2.flashphoner.com- тестирующий WCS сервер- пример Media Devices для публикации исходного потока
-
Публикация исходного потока на сервер
test2.flashphoner.com

-
Запуск скрипта
pushStreamsscript ontest2.flashphoner.com
Здесь:/usr/local/FlashphonerWebCallServer/tools/pushStreams.sh ws://test1.flashphoner.com:8080 http://test1.flashphoner.com:8081 test loadtest 10ws://test1.flashphoner.com:8080- websocket URL тестируемого сервераhttp://test1.flashphoner.com:8081- HTTP URL тестируемого сервера для использования REST APItest- имя исходного потока, который будет публиковаться на тестируемый серверloadtest- префикс имени, с которым будут публиковаться потоки на тестируемый сервер10- количество публикаций
При успешном запуске, скрипт выводит на консоль список публикаций

-
Контроль публикаций на странице статистики тестируемого сервера
http://test1.flashphoner.com:8081/?action=stat

-
Запуск скрипта
pushStreamsна сервереtest2.flashphoner.comдля остановки теста
Здесь:/usr/local/FlashphonerWebCallServer/tools/pushStreams.sh ws://test1.flashphoner.com:8080 http://test1.flashphoner.com:8081 test loadtest stopws://test1.flashphoner.com:8080- websocket URL тестируемого сервераhttp://test1.flashphoner.com:8081- HTTP URL тестируемого сервера для использования REST APItest- имя исходного потока, который публикуется на тестируемый серверloadtest- префикс имени, с которым публикуются потоки на тестируемый серверstop- ключевое слово для остановки публикаций с указанными параметрами
При успешной остановке публикаций, скрипт выводит на консоль сведения об остановке

Тестирование максимального количества WebRTC подписчиков¶
Тестирование максимального количества подписчиков проводится при помощи скрипта
-
Для теста используются:
test1.flashphoner.com- тестируемый WCS серверtest2.flashphoner.com- тестирующий WCS сервер- пример Media Devices для публикации исходного потока
-
Публикация исходного потока на сервер
test1.flashphoner.com

-
Запуск скрипта
pullStreamsна сервереtest2.flashphoner.com
Здесь:/usr/local/FlashphonerWebCallServer/tools/pullStreams.sh ws://test1.flashphoner.com:8080 http://test1.flashphoner.com:8081 loadtest 10ws://test1.flashphoner.com:8080- websocket URL тестируемого сервераhttp://test1.flashphoner.com:8081- HTTP URL тестируемого сервера для использования REST APIloadtest- префикс имени, с которым будут захватываться потоки с тестируемого сервера10- количество подписчиков
Обратите внимание: скрипт захватит все опубликованные на тестируемом сервере потоки, каждый заданным количеством подписчиков.
При успешном запуске, скрипт выводит на консоль список подписчиков

-
Контроль подписчиков на странице статистики тестируемого сервера
http://test1.flashphoner.com:8081/?action=stat

-
Запуск скрипта
pullStreamsна сервереtest2.flashphoner.comдля остановки теста
Здесь:/usr/local/FlashphonerWebCallServer/tools/pullStreams.sh ws://test1.flashphoner.com:8080 http://test1.flashphoner.com:8081 loadtest stopws://test1.flashphoner.com:8080- websocket URL тестируемого сервераhttp://test1.flashphoner.com:8081- HTTP URL тестируемого сервера для использования REST APIloadtest- префикс имени, с которым захватываются потоки с тестируемого сервераstop- ключевое слово для остановки подписчиков с указанными параметрами
При успешной остановке подписок, скрипт выводит на консоль сведения об остановке
