Bottlenecks and Performance optimization
Purpose of this document
This document should describe some of the most frequent problems faced by audiopoint users or testers. It should also help prevent bottlenecks and other problems. it shows how you can optimize the usage of the service and helps build your perfect environment for your AudioPoint device.
Bandwidth is the key to deliver audio reliable to multiple customers and obviously, the more listener, the more bandwidth needed. To be precise, 250 Kbit/s per stream! Let's do a quick calculation for a System with a maximum of 150 Users:
250 Kb/s * 150 users = 37'500 Kb/s or 36.6 Mb/s
These measurements include only the stream itself. If you have other services on the same network or you want to give your customers access to the internet, you need to adjust the bandwidth accordingly.
When serving AudioPoint Streams to many users or mobile phones, every phone needs to establish a separate connection to an Access Point or Router. Many low-level routers (mainly for home use) have a limit of simultaneous connections, which can be a key feature that is missing when using AudioPoint in bigger installations. If you want to use AudioPoint without limitations, check for an AccessPoint that does not limitate for connections.
DHCP & Network size
Every IP based network has a DHCP Server running (most times included in the Router) to serve devices with IP-Addresses. When using AudioPoint, every client's mobile phone needs an IP-Address to receive the AudioPoint Stream, therefore you need to provide enough IP-Addresses so every client can get one. Some routers (mainly home routers), only have a DHCP range of 50-150 addresses, if your range is full, you will not be able to establish a new connection. When building up an AudioPoint System, check your DHCP server to provide enough IP-Addresses.
Same story with network sizes! Most networks have a size of 255 IP-Addresses (/24 prefix), from which you can use 253. If your network is smaller than that (/25 or above) you will not be able to use the maximum users (250 with the extended license) of the AudioPoint.
Since AudioPoint was developed as a low delay product, it's a key feature for many customers! Following we will talk about some of the biggest delay causes and how we can face it best.
The most common issue when having big delay is usually that the mobile phone of the end-user is putting a lot of additional delay to the stream while decoding. Especially on Android, it can happen that low-cost models don't have the power to process a live stream without buffering it. It is also possible that some phone's don't run the AudioPoint App properly, because of some special hardware or just because of an old android version. On Apple's iPhone, it's not a common problem since there are only 4-5 models to customize the app to, so our developers can customize it to the hardware. So whenever troubleshooting an AudioPoint installation for delay problems, run the stream on an iPhone to see if the delay is caused by the Network or by your phone.
When setting up a WiFi network that has more than just one AccessPoint, at one point you will look into mashed networks and network repeater. AudioPoint does not really like those kinds of network techniques since they produce a lot of data loss and add additional delay to the RTP stream, which will end in bad audio quality and also delay. The best case here is to set up multiple access points where each is directly connected over LAN to a Network Backbone.
Quality of Service (QoS)
One way of preventing big delays or packet losses in networks is to prioritise the traffic, which is summarized in Quality of Service or QoS.
Most routers nowadays can handle QoS prioritisation of IP-Packages. AudioPoint stream packages are marked as Expedited Forwarding (EF) and can, therefore, be prioritized to other traffic. This is useful if you don't have a dedicated network just for the audiopoint itself and need to share the wifi network also for other services (like Internet access). Please be aware that most routers only support QoS over the WAN Interface and are therefore not ideal. If you are using a switch between the AudioPoint and the Wifi AccessPoint, it is also beneficial if the switch supports QoS.
The Audiopoint packages are classified as Expedited Forwarding (EF) as described by RFC 2474, to read about it, check out this Wikipedia article: https://en.wikipedia.org/wiki/Differentiated_services
QoS is not a guarantee that there is no delay! QoS is very useful on busy networks where you want to prioritise the AudioPoint Traffic to other packages. If you have a dedicated Network only for the AudioPoint you better leave QoS disabled. Also, every router's QoS implementation is different and therefore behaves differently. Testing is mandatory there. If your network is overloaded by the AudioPoint traffic, QoS will probably not help!
Since the Wifi network is very important for the delivery of the AudioPoint streams, it has a significant influence on the overall performance of the solution! To provide the best performance we recommend the following specs for your wifi:
- 2.4Ghz and 5Ghz frequencies, both enabled
- Automatic channel and bandwidth selection
- Lan connected Access Points
- Latest Wifi standards integration (IEEE 802.11, a, n, ac)