WebRTC Load Testing

Load Multiplier simulates millions of WebRTC endpoints with various kinds of signalling like JSON, HTTP, SIP, Proprietary text/binary messages etc. Major features used in WebRTC like RTCP mux, Audio / Video bundle, SRTP / DTLS, OPUS, VP8, STUN, TURN, ICE etc are supported. Select use cases are shown in below diagram.

WebRTC Use Cases


If it is required to simulate hybrid signalling like HTTP + Websocket, HTTP + JSON or any other combination (including binary messages) you can simulate it easily using Load Multiplier. Since in WebRTC, signalling is wide open, anybody can define own signalling call flow, users can leverage Load Multiplier's open and easy to use interface to simiulate any such signalling call flows in large scale to load test media servers / relays, signalling servers etc.

Signalling

Load Multiplier supports various signalling mechanism listed below

  • HTTP / HTTPS
  • JSON
  • SIP / IMS
  • Any proprietary text / binary messages
Transport

Load Multiplier supports almost all transport protocols as listed below

  • UDP
  • TCP
  • TLS
  • DTLS
  • SCTP
  • Websocket
  • Secured Websocket
Media Profiles

Various media profiles supported are

  • UDP
  • SRTP / UDP
  • SRTP / DTLS
  • TCP (In progress)
  • TLS (In progress)
Media Codecs

Load Multiplier supports advances audio / video codecs listed below.

NAT / Firewall Traversal

Load Multiplier supports ICE and related standards for NAT / Firewall traversal. You can configure ice-mode to stun, turn or lite to force a particular technique to be followed during call. Supported standards are as below.

Standards Supported

Load Multiplier provides flexible message and flow sequence simulation mechanism. In addition to that it also supports various standards to achieve specific functionalities. Supported standards are listed below.

  • RFC 2616 - Hypertext transfer protocol.
  • RFC 3261 - Session initiation protocol.
  • RFC 3711 - Secure RTP.

  • RFC 5245 - Interactive connectivity establishment (ICE). A protocol for network address translator (NAT) traversal for offer/answer protocols.

  • RFC 5389 - Session traversal utilities for NAT (STUN)

  • RFC 5766 - Traversal using relays around NAT (TURN). Relay extensions to session traversal utilities for NAT (STUN)

  • RFC 6455 - The websocket protocol.
  • RFC 7118 - The websocket protocol as a transport for the session initiation protocol (SIP).
  • RFC 7741 - The RTP VP8 packetization.
  • RFC 8124 - WebRTC SDP.
Report Dashboard & Graphs

When you deal with testing (specially load and performance), reports, statistics and graphs are quite important to analyze the test progress and behavior of system under test over a period of time. Load Multiplier provides auto refresh web interfaces for report dashboard and graphs. From graphs, you can view test statistics captured at certain intervals (in order of seconds).


Report dashboard
The report dashboard is shown below. Look at the last column, you ave links for detail reports, errors, live / dynamic graphs, static graphs etc.


Dashboard


Graphs
Below few graphs are shown for visual representation of test result / report. Graph data provides the statistical data over a period of time, captured at certain interval of time in order of seconds.


Dtls handshakes

Network ports

Media sessions

Network bytes

External Resources

The WebRTC is an initiative from W3C, Google for plugin-free browser to browser real time multimedia communication. It is supported by widely used browsers such as Chrome, Firefox etc..

Various WebRTC resources (external links) are given below.

If you are looking for load testing of your WebRTC sever or any related component like Turn Server, Signalling Server etc, you may like to have a trial run with Load Multiplier tool. Load Multiplier offers long hour uninterrupted load testing solutions across domains including WebRTC.