Scripts to test a maximum number of WebRTC publishers/subscribers¶
Since build 5.2.1766 a scripts are available to test a maximum number of WebRTC publisher or subscribers per WCS server. The scripts are implemented in bash and use REST API to publish and pull WebRTC streams from a WCS server under test. The scripts are in /usr/local/FlashphonerWebCallServer/tools
folder.
To perform a load test, the following should be prepared:
- WCS server to test
- WCS server to perform the test
- a tool to publish a source stream (OBS to publish RTMP, or Media Devices example to publish WebRTC)
Attention
Note that the server perfomance to perform the test should be at least twice as the server under test, otherwise the testing server may be a bottleneck.
Testing a maximum number of WebRTC publishers¶
A maximum number of WebRTC publishers test is performed with the following script
-
The following should be used for test:
test1.flashphoner.com
- WCS server to testtest2.flashphoner.com
- WCS server to perform the test- Media Devices example to publish a source stream
-
Publish the source stream to the server
test2.flashphoner.com
-
Launch
pushStreams
script ontest2.flashphoner.com
Where:/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 of the server to testhttp://test1.flashphoner.com:8081
- HTTP REST API URL of the server to testtest
- the source stream published to the testing nameloadtest
- the name prefix used to publish streams to the server to test10
- publishers count
The script displays a publishers list when successfully launched
-
Check stream publishers at the tested server statistics page
http://test1.flashphoner.com:8081/?action=stat
-
Launch
pushStreams
script ontest2.flashphoner.com
to stop the test
Where:/usr/local/FlashphonerWebCallServer/tools/pushStreams.sh ws://test1.flashphoner.com:8080 http://test1.flashphoner.com:8081 test loadtest stop
ws://test1.flashphoner.com:8080
- tested server websocket URLhttp://test1.flashphoner.com:8081
- HTTP REST API URL of the tested servertest
- the source stream name published to the tested serverloadtest
- the name prefix used to publish streams to the tested serverstop
- keyword to stop the publishers with the parameters above
The script displays a stopped publishers list when successfully launched
Testing a maximum number of WebRTC subscribers¶
A maximum number of WebRTC publishers test is performed with the following script
-
The following should be used for test:
test1.flashphoner.com
- WCS server to testtest2.flashphoner.com
- WCS server to perform the test- Media Devices example to publish a source stream
-
Publish the source stream to the server
test1.flashphoner.com
-
Launch
pullStreams
script ontest2.flashphoner.com
Where:/usr/local/FlashphonerWebCallServer/tools/pullStreams.sh ws://test1.flashphoner.com:8080 http://test1.flashphoner.com:8081 loadtest 10
ws://test1.flashphoner.com:8080
- tested server websocket URLhttp://test1.flashphoner.com:8081
- HTTP REST API URL of the tested serverloadtest
- the name prefix used to pull streams from the tested server10
- subscribers count
Note that script will pull all the streams published on the tested server with a specified number of subscribers per each.
The script displays a subscribers list when successfully launched
-
Check stream subscribers at the tested server statistics page
http://test1.flashphoner.com:8081/?action=stat
-
Launch
pullStreams
script ontest2.flashphoner.com
to stop the test
Where:/usr/local/FlashphonerWebCallServer/tools/pullStreams.sh ws://test1.flashphoner.com:8080 http://test1.flashphoner.com:8081 loadtest stop
ws://test1.flashphoner.com:8080
- tested server websocket URLhttp://test1.flashphoner.com:8081
- HTTP REST API URL of the tested serverloadtest
- the name prefix used to pull streams from the tested serverstop
- keyword to stop the subscribers with the parameters above
The script displays a stopped subscribers list when successfully launched