Расчет дисков и сетевой нагрузки для системы видеонаблюдения¶
Размер дискового пространства и сетевая нагрузка тесно взаимосвязаны и зависят в первую очередь от качества видео, то есть упрощенно от битрейта камер, а также от количества камер.
Качество видео и битрейт определяются одними и теми же параметрами, поэтому при расчете оборудования удобнее использовать битрейт как численную характеристику качества. Однако всегда стоит помнить о том, что качество само по себе не имеет численного выражения, является субъективной величиной и от битрейта зависит только условно. Дополнительную информацию о том, что такое качество видео и как найти баланс между качеством и битрейтом см. в нашем блоге. Также по этой ссылке вы сможете получить общее представление о том, как рассчитать битрейт, если он не указан в спецификации камеры или если нет возможности измерить его экспериментальным путем.
Сетевая нагрузка¶
Сетевая нагрузка делится на входящую и исходящую. Входящая зависит от количества камер, а исходящая от количества одновременных просмотров.
Для расчета сетевой нагрузки достаточно умножить битрейт на количество камер или просмотров соответственно. Нужно учитывать ситуацию, когда все абоненты/пользователи будут одновременно смотреть видео с какой-либо камеры, поэтому при расчетах количество просмотров нужно заменить на количество абонентов. Также мы рекомендует делать примерно 30% запас по пропускной способности канала, чтобы предусмотреть вариабельность битрейта в процессе трансляции.
Входящая сетевая нагрузка = Количество камер × Битрейт камер + 30%
Исходящая сетевая нагрузка = Количество пользователей × Битрейт камер + 30%
Диски¶
Размер дискового пространства для хранения архива определяется входящей сетевой нагрузкой, то есть количеством и битрейтом камер, и глубиной хранения записей. Обычно глубина архива измеряется в днях и зависит от сферы применения: в правовой сфере может требоваться глубина до нескольких лет, а для бытовых камер обычно достаточно нескольких дней.
Для расчета размера архива достаточно умножить входящую сетевую нагрузку на требуемую глубину архива. Например, поток 1 Мбит/с с учетом 30% запаса превращается в 1,3 Мбит/с — это примерно 14 Гбайт дискового пространства в сутки на камеру, 2 Мбит/с +30% = 2,6 Мбит/с — 27 Гбайт в сутки на камеру, и т.д. Если у вас камера с 1 Мбит/с потоком и 7 дневным архивом, значит для нее нужно выделить минимум 98 Гбайт дискового пространства. Если у вас 500 таких камер, то вам потребуется 48 Тбайт.
Однако не торопитесь сразу покупать диск на несколько десятков терабайт. При выборе количества и объема дисков также следует учитывать некоторые нюансы:
-
Архив может занимать не более 90% от объема диска. Это связано с принципом работы файловой системы, которая может начать работать медленнее при сильном заполнении диска. Чтобы учесть этот фактор, рассчитанный объем архива нужно будет разделить на 0,9.
Таким образом, для одной камеры 1 Мбит/с понадобится уже не 14, а 16 Гбайт в сутки. Для 500 таких камер с 7-дневным архивом нужно дисковое пространство не менее 52 Тбайт.
-
Скорость записи и чтения ограничивает допустимую входящую и исходящую сетевую нагрузку. При большом количестве одновременных операций чтения и записи на диск скорость его работы может снижаться на порядок. Этот факт особенно критичен для сервиса видеонаблюдения, но может сказаться и на традиционной системе видеонаблюдения: когда десятки камер одновременно пишут архив в разные области диска, и десятки пользователей одновременно просматривают этот архив, скорость диска может упасть с заявленных 100 Мбайт/с до 20-30 Мбайт/с (=160-240 Мбит/с).
Проще говоря, количество одновременно пишущих на диск камер 1 Мбит/с и читающих с диска абонентов в сумме не должно превышать 160-240, а с учетом 30% запаса 123-184.
-
Требования к дискам: 7200 rpm, SSD (на кэш) + HDD на запись.
С учетом этих вводных расчет дисков производится следующим образом:
Дисковое пространство = Входящая сетевая нагрузка × Глубина архива / 0,9
Количество дисков = (Входящая сетевая нагрузка + Исходящая сетевая нагрузка) / Скорость диска
Размер дисков = Дисковое пространство / Количество дисков
Пример¶
Соберем воедино приведенные выше расчеты для абонентского сервиса видеонаблюдения со следующими параметрами:
- 500 камер с битрейтом 1 Мбит/с
- 200 абонентов
- Глубина архива для всех камер 7 дней (7 дн. × 24 ч/дн. × 60 мин./ч × 60 с/мин. = 604 800 секунд)
- Скорость диска 20 Мбайт/с = 160 Мбит/с
Входящая сетевая нагрузка = 500 × 1 Мбит/с + 30% = 650 Мбит/с
Исходящая сетевая нагрузка = 200 × 1 Мбит/с + 30% = 260 Мбит/с
Дисковое пространство = 650 Мбит/с × 604 800 с / 0,9 = 436 800 000 Мбит ≈ 52 Тбайт
Количество дисков = (650 Мбит/с + 260 Мбит/с) / 160 Мбит/с ≈ 6 дисков
Размер дисков = 52 Тбайт / 6 = 9 Тбайт
Таким образом, в рассмотренном нами стримере нужно будет настроить Flussonic RAID для DVR как минимум из 6 дисков по 9 Тбайт (или большего количества дисков меньшего объема, если стоит задача снизить стоимость оборудования).
Расчет количества камер и абонентов по характеристикам дисков¶
Если у вас уже закуплен сервер с определенной аппаратной конфигурацией и вы хотите узнать, сколько камер и пользователей к нему можно подключить, из приведенных формул можно вывести такую зависимость:
Количество камер + количество абонентов = (Количество дисков × Скорость диска) / (1,3 × Битрейт)
Если мы произведем обратный расчет для примера выше, то получим:
Количество камер + количество абонентов = (6 × 160 Мбит/с) / (1,3 × 1 Мбит/с) ≈ 738
Это согласуется с исходными данными (500 камер + 200 абонентов), учитывая, что при расчетах мы округляли характеристики в большую сторону.
Note
Помните, что количество камер может быть ограничено возможностями процессора — см. Подбор процессора.