WebRTC stream pulling from another WCS server may be useful to load testing according to the following test scenario:
1. For the test we use:
2. Open Console application over HTTP (not HTTPS!) http://demo.flashphoner.com:9091/client2/examples/demo/streaming/console/console.html
3. Install ACAO extension, allow Cross-Origin-Resource-Sharing
4. Enter server name wcs5-us.flashphoner.com and press 'Add node'. The server will be a subscriber which pulls streams. Then, add server demo.flashphoner.com which will be a stream source to test.
5. Open Two Way Streaming application https://demo.flashphoner.com/client2/examples/demo/streaming/two_way_streaming/two_way_streaming.html, then publish the stream from web camera
6. Select wcs5-eu.flashphoner.com in Console application, press 'Pull streams' button, set the test parameters:
7. Press 'Pull' button. The test begins.
8. Select demo.flashphoner.com server. The page displays a list of media sessions in which the published stream is played. Current server load information is displayed at top right corner.
CDN Edge server load testing is performed by the following scenario:
1. For test we use:
2. Deploy CDN with the following server roles:
3. Open Console application over HTTP (not HTTPS!) http://demo.flashphoner.com:9091/client2/examples/demo/streaming/console/console.html
4. Allow Cross-Origin-Resource-Sharing
5. Enter Edge server name test2.flashphoner.com, press 'Add node'. This server will be tested. Add demo.flashphoner.com server similarly, this server will be a subscriber which pulls streams.
6. Open Two Way Streaming application, publish stream from web camera
7. Selet demo.flashphoner.com server in Console application, press 'Stress play stream', set the following test parameters:
7. Press 'Start'. The test begins.
If the load test was failed, it is recommended to change the following setver settings.
1. In flashphoner.properties file extend range of UDP ports and disable fast streaming video decoder start:
media_port_from = 20000 media_port_to = 39999 streaming_video_decoder_fast_start=false |
2. In wcs-core.properties file extend heap memory limits. It is recommended to set the limit in half of physical RAM, for example, set 16 Gb while physical RAM is 32 Gb. Make sure you have enough RAM:
-Xmx16g -Xms16g |
1. By default, no more than 1000 streams are pulled
Symptoms: if subscribers quantity set to more than 1000, only 998 streams are pulled
Solution: maximum agent ports number is limited to 999 by default:
wcs_agent_port_from=34001 wcs_agent_port_to=35000 |
To expand this limit, the following parameter should be increased
wcs_agent_port_to=35000 |
in flashphoner.properties file.