В сборке 5.2.1766 добавлены скрипты для нагрузочного тестирования WCS на максимальное число публикаций или подписчиков. Скрипты написаны на bash и используют REST API для публикации и захвата потоков с тестируемого WCS сервера. Скрипты располагаются в каталоге /usr/local/FlashphonerWebCallServer/tools
Для нагрузочного тестирования необходимы:
Обратите внимание, что производительность тестирующего сервера должна быть минимум вдвое больше, чем тестируемого, в противном случает сам тестирующий сервер станет узким местом в нагрузочном тесте.
Тестирование максимального количества публикаций проводится при помощи скрипта
/usr/local/FlashphonerWebCallServer/tools/pushStreams.sh |
1. Для теста используются:
test1.flashphoner.com
- тестируемый WCS серверtest2.flashphoner.com
- тестирующий WCS сервер2. Публикация исходного потока на сервер test2.flashphoner.com
3. Запуск скрипта pushStreams
на сервере test2.flashphoner.com
/usr/local/FlashphonerWebCallServer/tools/pushStreams.sh ws://test1.flashphoner.com:8080 http://test1.flashphoner.com:8081 test loadtest 10 |
Здесь:
ws://test1.flashphoner.com:8080
- websocket URL тестируемого сервераhttp://test1.flashphoner.com:8081
- HTTP URL тестируемого сервера для использования REST APItest
- имя исходного потока, который будет публиковаться на тестируемый серверloadtest
- префикс имени, с которым будут публиковаться потоки на тестируемый сервер10
- количество публикацийПри успешном запуске, скрипт выводит на консоль список публикаций
4. Контроль публикаций на странице статистики тестируемого сервера http://test1.flashphoner.com:8081/?action=stat
5. Запуск скрипта pushStreams
на сервере test2.flashphoner.com
для остановки теста
/usr/local/FlashphonerWebCallServer/tools/pushStreams.sh ws://test1.flashphoner.com:8080 http://test1.flashphoner.com:8081 test loadtest stop |
Здесь:
ws://test1.flashphoner.com:8080
- websocket URL тестируемого сервераhttp://test1.flashphoner.com:8081
- HTTP URL тестируемого сервера для использования REST APItest
- имя исходного потока, который публикуется на тестируемый серверloadtest
- префикс имени, с которым публикуются потоки на тестируемый серверstop
- ключевое слово для остановки публикаций с указанными параметрамиПри успешной остановке публикаций, скрипт выводит на консоль сведения об остановке
Тестирование максимального количества подписчиков проводится при помощи скрипта
/usr/local/FlashphonerWebCallServer/tools/pullStreams.sh |
1. Для теста используются:
test1.flashphoner.com
- тестируемый WCS серверtest2.flashphoner.com
- тестирующий WCS сервер2. Публикация исходного потока на сервер test1.flashphoner.com
3. Запуск скрипта pullStreams
на сервере test2.flashphoner.com
/usr/local/FlashphonerWebCallServer/tools/pullStreams.sh ws://test1.flashphoner.com:8080 http://test1.flashphoner.com:8081 loadtest 10 |
Здесь:
ws://test1.flashphoner.com:8080
- websocket URL тестируемого сервераhttp://test1.flashphoner.com:8081
- HTTP URL тестируемого сервера для использования REST APIloadtest
- префикс имени, с которым будут захватываться потоки с тестируемого сервера10
- количество подписчиковОбратите внимание: скрипт захватит все опубликованные на тестируемом сервере потоки, каждый заданным количеством подписчиков.
При успешном запуске, скрипт выводит на консоль список подписчиков
4. Контроль подписчиков на странице статистики тестируемого сервера http://test1.flashphoner.com:8081/?action=stat
5. Запуск скрипта pullStreams
на сервере test2.flashphoner.com
для остановки теста
/usr/local/FlashphonerWebCallServer/tools/pullStreams.sh ws://test1.flashphoner.com:8080 http://test1.flashphoner.com:8081 loadtest stop |
Здесь:
ws://test1.flashphoner.com:8080
- websocket URL тестируемого сервераhttp://test1.flashphoner.com:8081
- HTTP URL тестируемого сервера для использования REST APIloadtest
- префикс имени, с которым захватываются потоки с тестируемого сервераstop
- ключевое слово для остановки подписчиков с указанными параметрамиПри успешной остановке подписок, скрипт выводит на консоль сведения об остановке