Digital TV is a high-load service and requires some resources. Astra has no restrictions on the number of channels or clients. However, the chosen protocols and available resources may influence these parameters.
Avoid using consumer-grade hardware or deprecated hardware.
For system and general software operation we recommend at least 2Gb of RAM. For reserve at least 20%.
Content delivery over UDP Multicast or DVB Broadcast networks, the system requirements are minimal. Only a single server can prepare all channels and distribute them across the network.
We recommend a CPU with the highest available frequency. Ensure the CPU is operating in performance mode and power-saving mode is disabled.
The number of CPU cores needed depends on the number of channels to be delivered. A good rule of thumb is one core per 30 channels. Therefore, for 100 channels good choice will be a CPU with 4 cores.
Approximately 2Gb of RAM is enough for deliver 100 channels.
Avoid using VLAN, Bonding and consumer-grade network adapters.
Content delivery with the HLS protocol is the most complicated and resource-intensive process due to the nature of the protocol.
CPU frequency is not crucial for HLS. Make sure the CPU is in performance mode and power-saving mode is turned off.
The number of CPU cores needed depends on the number of Rx/Tx queues in the network adapter. Therefore, for Intel 82599 with 128Tx queues use CPU with as many cores as possible.
RAM usage depends on the HLS settings. By default, Astra prepares 4 segments, each up to 3 seconds long. For HD channel with a bitrate of 10Mbit per second, approximately 15Mb (calculated 4 * 3 * 10 / 8) will be allocated, in addition to a fixed 2Mb per channel, that doesn't depend of the channel bitrate.
Each active session requires about 2Mb of RAM.
Use server-grade network adapters with as many Tx queues as possible
Due to HLS nature all clients connected directly to the server. For load balancing we recommend to use caching servers. Read more in HLS Caching Proxy with Nginx
Resources for channels receiving is not so important as delivery. About 1Gb of RAM per 100 channels.
Total RAM needed calculated as sum of the:
In summary for 100 channels:
Total (rounded up): 8Gb