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

« Previous Version 2 Next »

Overview

WebRTC stream pulling from another WCS server may be useful to load testing according to the following test scenario:

  1. Stream is published on server 1.
  2. Server 2 makes a specified number of Websocket connections (100 for example), as a standalone browser client.
  3. Server 2 pulls a specified number of copies of stream published on server 1, as a viewer.

Testing

1. For the test we use:

  • two WCS servers: demo.flashphoner.com и wcs5-us.flashphoner.com;
  • web application Two Way Streaming to publish the stream;
  • web application Console to make test;
  • Chrome browser with Allow-Control-Allow-Origin extension to make Console application to work.

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:

  • Choose node - choose demo.flashphoner.com server to test
  • Local stream name, Remote stream name - set the stream published name
  • Qty - set the viewers quantity (100 for example)

 

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.

Tuning recommendations

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

Known issues

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.

  • No labels