Аппаратные требования
Цифровое телевидение — это сервис с высокой нагрузкой, требующий определённых ресурсов. Astra не ограничивает количество каналов или клиентов. Однако выбранные протоколы и доступные ресурсы могут влиять на эти параметры.
Рекомендуем использовать процессор с максимально возможной частотой. Оптимальная частота процессора для головной станции цифрового ТВ — 2.5–3 ГГц и выше. Процессоры с большим количеством ядер, но низкой частотой (например, 1.8–2.5 ГГц) не подходят для задач, требующих низкой задержки.
Процессоры только с кэшем L2 могут быть не так уж плохи, но в 99% случаев это говорит о том, что остальное оборудование, такое как материнская плата и ОЗУ, устарело и не подходит для использования.
Пример хороших процессоров:
- Intel Xeon 10C E5-2680v2
- Xeon 8C E5-2670
- Intel Xeon 6C X5670
- Core i5-9600K
Убедитесь, что процессор работает в режиме производительности, а энергосберегающий режим отключён. Подробнее.
Для работы системы и основного ПО рекомендуем минимум 2 Гб ОЗУ. Зарезервируйте не менее 20%.
Дополнительная ОЗУ требуется:
- Для приёма ресурсов требуется меньше, чем для доставки. Около 1 Гб ОЗУ на 100 каналов.
- Для DVB-модуляторов, таких как TBS, DigitalDevices или HiDes, Astra выделяет 256 Мб на транспондер.
- Для доставки UDP-каналов с синхронизацией битрейта Astra выделяет около 12 Мб на канал. Примерно 2 Гб ОЗУ достаточно для доставки 100 каналов по UDP-протоколу.
- Для доставки UDP-каналов без синхронизации Astra выделяет только 1 Мб на канал. Обычно это не рекомендуется.
- Для доставки HLS использование ОЗУ зависит от настроек HLS. По умолчанию Astra готовит 4 сегмента по 3 секунды каждый. Для HD-канала с битрейтом 10 Мбит/с будет выделено примерно 15 Мб (расчёт: 4 * 3 * 10 / 8), плюс фиксированные 2 Мб на канал, не зависящие от битрейта. Каждая активная сессия требует около 2 Мб ОЗУ.
Частота ОЗУ также имеет значение. Примерные показатели для сравнения:
- DDR1 400 МГц — не подходит
- DDR2 600 МГц — подходит для небольших конфигураций, например, приёма 10–15 каналов и их вещания по udp
- DDR3 1333–1600 МГц — подходит
- DDR4 2133–2800 МГц — подходит
- DDR4 2800–3400 МГц — дорого и избыточно
Избегайте использования VLAN, Bonding и сетевых адаптеров потребительского класса.
Размер буфера Rx/Tx
Заголовок раздела «Размер буфера Rx/Tx»Размеры кольцевых буферов NIC зависят от производителя и класса адаптера. Больший размер буфера снижает вероятность потери пакетов при задержках планирования.
- менее 1024 — обычно не рекомендуется
- от 2048 до 4096 — считаются хорошими
- 8192 — отличный показатель
Очереди
Заголовок раздела «Очереди»Пакеты передаются между кольцевым буфером NIC и ядром операционной системы через очереди. Каждая очередь закрепляется за отдельным ядром процессора. Сетевые адаптеры с несколькими очередями могут обрабатывать пакеты одновременно.
Адаптеры с одной очередью предназначены только для домашнего использования и не рекомендуются для головной станции цифрового ТВ.
Рекомендуемые сетевые адаптеры
Заголовок раздела «Рекомендуемые сетевые адаптеры»- Intel
- 82599ES, 82599EB (2 порта)
- 82599EN (1 порт)
- i350AM2
- Mellanox
- MT27520
- SolarFlare
- SFN7122F
НЕ рекомендуемые сетевые адаптеры
Заголовок раздела «НЕ рекомендуемые сетевые адаптеры»- D-Link, Realtek: любые модели для домашнего использования не подходят для головной станции цифрового ТВ.
- Intel: хотя мы рекомендуем сетевые карты Intel, эти модели не рекомендуются. Только одна очередь, и все данные обрабатываются одним ядром процессора:
- 82541GI Gigabit Ethernet Controller (rev 05)
- 82541PI Gigabit Ethernet Controller (rev 05)
- 82574L Gigabit Network Connection
- 82540EM Gigabit Ethernet Controller (rev 03)
- 82545EM
- 82579LM
- 82571EB Gigabit Ethernet Controller (rev 06)
- 82573L Gigabit Ethernet Controller
- 82573E Gigabit Ethernet Controller (rev 03)
- 82578DC Gigabit Network Connection (rev 06)
- 82546EB Gigabit Ethernet Controller (rev 01)
- 82546GB Gigabit Ethernet Controller (rev 03)
- I219-V (rev 31)
- I217
- Broadcom
- NetXtreme BCM5701
- NetXtreme BCM5704
- NetXtreme BCM5715
- NetXtreme BCM5719 — периодически возникают потери пакетов при 256 мбит/с.
- NetXtreme BCM5721
- NetXtreme BCM5722
- NetXtreme II BCM5708
- NetXtreme II BCM5709 — несмотря на наличие нескольких очередей, RSS может работать только на одной, создавая высокую нагрузку на одно ядро
- NetXtreme II BCM5716 , поддерживает распределение прерываний по ядрам, но основная масса пакетов всё равно остаётся на ядре 0
- Qualcomm
- Atheros AR8121/AR8113/AR8114 Gigabit или Fast Ethernet
- Atheros AR8131 Gigabit Ethernet
- Atheros AR8132 Fast Ethernet
- Atheros AR8151 v2.0 Gigabit Ethernet (rev c0)
- Другие
- VMware VMXNET3 — не подходит для доставки UDP, слишком много потерь пакетов
- VIA Technologies, Inc. VT6105/VT6106S [Rhine-III] (rev 86)
- 3Com Corporation 3c905C-TX/TX-M [Tornado]
- RedHat Virtio network device
- Marvell 88E8057 PCI-E Gigabit Ethernet Controller
- Marvell 88E8050 PCI-E ASF Gigabit Ethernet Controller
- QLogic Corp. cLOM8214 1/10GbE Controller (rev 54) — невозможно изменить количество очередей, по умолчанию 3 rx, 1 rx tx.
- HP NC326i
- NVidia Corporation MCP55 Ethernet (rev a3) — только одна очередь. Даже при небольшом трафике создаёт очень высокую нагрузку на ядро процессора, обрабатывающее трафик с этой карты, что приводит к недопустимо медленной обработке пакетов.
Рекомендуемые DVB-адаптеры
Заголовок раздела «Рекомендуемые DVB-адаптеры»- DigitalDevices: Все DVB-адаптеры от Digital Devices отлично работают с Astra.
- DD Max SX8 — 8-тюнерный S/S2 приёмник + мультисвитч
- DD Max A8i — 8-тюнерный DVB-C2/T2 ISDB-T приёмник
- TBS: DVB-адаптеры от TBS — одно из самых популярных решений для приёма цифрового ТВ.
- TBS6904 — 4-тюнерный S/S2 приёмник
- TBS6909 — 8-тюнерный S/S2 приёмник + мультисвитч
- TBS6205 — 4-тюнерный DVB-T2/T/C приёмник
- DVBSky
- T980CI — 1-тюнерный DVB-T/T2/C приёмник с CI-слотом.
- S950CI — 1-тюнерный DVB-S/S2 приёмник с CI-слотом.
- T9580 — 2-тюнерный S2/T2/T/C приёмник с независимыми тюнерами.
Рекомендуемые DVB-модуляторы и CI-интерфейсы:
- DigitalDevices
- DD RESI DVB-C FSM — DVB-C модулятор
- DD Octopus Twin CI — 2 CI-интерфейса для дескремблирования каналов
- TBS
- TBS6004 DVB-C 4 QAM PCIe Card
- TBS6104 DVB-T Quad Modulator Card
- TBS6900 — 2 CI-интерфейса для дескремблирования каналов
НЕ рекомендуемые DVB-модуляторы
Заголовок раздела «НЕ рекомендуемые DVB-модуляторы»- DigitalDevices
- Digital Devices RESI SDR Modulator — DVB-T/ISDB-T (не поддерживается, непредсказуемое поведение)
- Digital Devices RESI SDR Modulator — PAL Modulator (не поддерживается)
- TBS
- TBS6032 16 QAM DVB-C Modulator — (непредсказуемое поведение)
НЕ рекомендуемые DVB-адаптеры
Заголовок раздела «НЕ рекомендуемые DVB-адаптеры»- SkyStar 1 — старая карта, не поддерживает стандарт S2
- Mystique SaTiX-SX — старая карта, не поддерживает стандарт S2
- Любые USB-адаптеры
Общий объём необходимой ОЗУ рассчитывается как сумма:
- Работы основного ПО
- Приёма
- Доставки
- Другого ПО на сервере
- Резерва ОЗУ
Пример для вещания DVB-C
Заголовок раздела «Пример для вещания DVB-C»В итоге для 100 каналов:
- Работа основного ПО: 2 Гб
- Приём: 1 Гб
- Доставка с 4 транспондерами: 2 Гб (256 Мб на транспондер, плюс дополнительные ресурсы на мультиплексирование)
- Другое ПО: 0
- Резерв ОЗУ: (2 + 1 + 2) * 0.5 = 2.5 Гб
Итого (округлено): 8 Гб
Из-за особенностей HLS все клиенты подключаются напрямую к серверу. Для балансировки нагрузки рекомендуем использовать кэширующие серверы. Подробнее читайте в HLS Caching Proxy с Nginx