Системные требования

Для расчета характеристик серверов FindFace Security используйте приведенные ниже системные требования.

Совет

Сначала обязательно ознакомьтесь с архитектурой FindFace Security.

В этой главе:

Базовая конфигурация

Важно

Если разрешение используемой камеры превышает 1280x720 пикселей, настоятельно рекомендуется использовать пакет с ускорением на GPU findface-video-worker-gpu.

Важно

Функционал видеостены доступен только при конфигурации на базе GPU.

Важно

Детектор живых лиц можно включить только в видеодетекторе лиц на основе GPU findface-video-worker-gpu.

  Минимальная Рекомендуемая
CPU Intel Core i5 CPU с 4-мя физическими ядрами 2.8 ГГц Intel Xeon E5v3 с 6-ю физическими ядрами, лучший или похожий процессор
На собственные нужды FindFace Security требуется 2 ядра HT > 2.5 ГГц. Характеристики также зависит от количества камер. Для одной камеры 720p@25FPS требуется 2 ядра >2.5 ГГц. Поддержка AVX
GPU (опционально) Nvidia Geforce® GTX 1050 Ti c 4 Гб RAM (только для запущенного сервиса findface-extraction-api на GPU с моделью elderberry_160, недостаточно для findface-video-worker-gpu). Nvidia Geforce® GTX 1080+ с 8+ Гб RAM
Поддерживаемые серии: GeForce (архитектура Pascal), Tesla (архитектура Pascal и Volta v100)
RAM 10 Гб 16+ Гб
На собственные нужды FindFace Security требуется 8 Гб. Потребление памяти также зависит от количества камер. Для одной камеры 720p@25FPS требуется 2 ГБ RAM
HDD 16 Гб 16+ Гб
На собственные нужды операционной системы и FindFace Security требуется 15 ГБ. Суммарный объем определяется в зависимости от требуемой глубины архива событий в базе данных и в логе из расчета 1.5 Мб на 1 событие
Оперативная система Ubuntu 16.04 только x64

Совет

Для более точного подбора оборудования ознакомьтесь с результатами тестирования потребления ресурсов и производительности FindFace Security.

Результаты тестирования производительности

Здесь вы можете ознакомиться с результатами тестов потребления ресурсов и производительности FindFace Security. Используйте эти данные для выбора оптимальной конфигурации оборудования.

Примечание

Потребление памяти и производительность могут незначительно отличаться от теста к тесту.

Предупреждение

Настоятельно не рекомендуется использовать для работы face/elderberry_160.

Параметры тестирования

Версии пакетов:

  • findface-extraction-api-cpu 2.6.999.1910+261.gebb8df6
  • findface-extraction-api-gpu
  • findface-video-worker-cpu 2.6.999.1910+261.gebb8df6
  • findface-video-worker-gpu
  • findface-tarantool-server 2.6.999.1910+261.gebb8df6

Оборудование:

  • Процессор: Intel Core i5-8400 @ 3.60 ГГц (6 ядер)
  • Материнская плата: ASUS PRIME H370M-PLUS
  • Память: 2 x 8192 Mб DDR4-2400 МГц
  • Графика: Gigabyte NVIDIA GeForce GTX 1060 6 Гб

ПО:

  • ОС: Ubuntu 16.04, Kernel: 4.15.0-29-generic (x86_64)
  • Разрешение экрана: 1920x1200

Потребление памяти рассчитывалось следующим образом:

  • CPU: htop;
  • GPU: nvidia-smi

Производительность CPU:

sysbench 0.4.12:  multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 1

Doing CPU performance benchmark

Threads started!
Done.

Maximum prime number checked in CPU test: 10000


Test execution summary:
    total time:                          9.1128s
    total number of events:              10000
    total time taken by event execution: 9.1112
    per-request statistics:
         min:                                  0.82ms
         avg:                                  0.91ms
         max:                                  1.47ms
         approx.  95 percentile:               1.02ms

Threads fairness:
    events (avg/stddev):           10000.0000/0.00
    execution time (avg/stddev):   9.1112/0.00

Производительность GPU:

Unigine Heaven 4.0:
    pts/unigine-heaven-1.6.4 [Resolution: 1920 x 1080 - Mode: Windowed - Renderer: OpenGL]
    Test 1 of 2
    Estimated Trial Run Count:    3
    Estimated Test Run-Time:      15 Minutes
    Estimated Time To Completion: 29 Minutes
        Started Run 1 @ 17:54:37
        Started Run 2 @ 17:59:15
        Started Run 3 @ 18:03:52  [Std. Dev: 0.29%]

    Test Results:
        86.6473
        86.1475
        86.4553

    Average: 86.42 Frames Per Second


Unigine Heaven 4.0:
    pts/unigine-heaven-1.6.4 [Resolution: 1920 x 1080 - Mode: Fullscreen - Renderer: OpenGL]
    Test 2 of 2
    Estimated Trial Run Count:    3
    Estimated Time To Completion: 15 Minutes
        Started Run 1 @ 18:08:33
        Started Run 2 @ 18:13:09
        Started Run 3 @ 18:17:45  [Std. Dev: 1.37%]

    Test Results:
        87.7017
        89.5186
        90.023

    Average: 89.08 Frames Per Second

Потребление ресурсов: findface-extraction-api и findface-extraction-api-gpu

Использование RAM: findface-extraction-api

Модель № экземпляров RAM, Мб № экземпляров RAM, Мб № экземпляров RAM, Мб
face/elderberry_576.cpu 1 3730 2 7450 3 11000
face/elderberry_160.cpu 1590 2800 4050
face/elderberry_576.cpu + features (faceattr/age.v1.cpu, faceattr/beard.v0.cpu, faceattr/emotions.v1.cpu, faceattr/gender.v2.cpu, faceattr/glasses3.v0.cpu) 5568 10800
face/elderberry_160.cpu + features (faceattr/age.v1.cpu, faceattr/beard.v0.cpu, faceattr/emotions.v1.cpu, faceattr/gender.v2.cpu, faceattr/glasses3.v0.cpu) 3473 6250 9400
Только атрибуты лиц (faceattr/age.v1.cpu, faceattr/beard.v0.cpu, faceattr/emotions.v1.cpu, faceattr/gender.v2.cpu, faceattr/glasses3.v0.cpu) 2270 3900 5800

Использование RAM: findface-extraction-api-gpu

Примечание

findface-extraction-api-gpu поддерживает использование только 1-го экземпляра модели.

Модель RAM, Мб
face/elderberry_576.gpu ~2200 ( до 4.5 Гб на этапе инициализации)
face/elderberry_160.gpu ~850 (до 1.8 Гб на этапе инициализации)
face/elderberry_576.gpu + features (faceattr/age.v1.gpu, faceattr/beard.v0.gpu, faceattr/emotions.v1.gpu, faceattr/gender.v2.gpu, faceattr/glasses3.v0.gpu) ~3100 (до 6.3 Гб на этапе инициализации)
face/elderberry_160.gpu + features (faceattr/age.v1.gpu, faceattr/beard.v0.gpu, faceattr/emotions.v1.gpu, faceattr/gender.v2.gpu, faceattr/glasses3.v0.gpu) ~1871 (до 4 Гб на этапе инициализации)
Только атрибуты (faceattr/age.v1.gpu, faceattr/beard.v0.gpu, faceattr/emotions.v1.gpu, faceattr/gender.v2.gpu, faceattr/glasses3.v0.gpu) 1200

Производительность: findface-extraction-api и findface-extraction-api-gpu

Скорость: findface-extraction-api

Модель Время, мс (i5-8400)
face/elderberry_576.cpu 620
face/elderberry_160.cpu 350
face/elderberry_576.cpu + features (faceattr/age.v1.cpu, faceattr/beard.v0.cpu, faceattr/emotions.v1.cpu, faceattr/gender.v2.cpu, faceattr/glasses3.v0.cpu) 655
face/elderberry_160.cpu + features (faceattr/age.v1.cpu, faceattr/beard.v0.cpu, faceattr/emotions.v1.cpu, faceattr/gender.v2.cpu, faceattr/glasses3.v0.cpu) 380
Только атрибуты лиц (faceattr/age.v1.cpu, faceattr/beard.v0.cpu, faceattr/emotions.v1.cpu, faceattr/gender.v2.cpu, faceattr/glasses3.v0.cpu) 300

Скорость: findface-extraction-api-gpu

Модель Время, мс (1060TI)
face/elderberry_576.gpu 240
face/elderberry_160.gpu 225
face/elderberry_576.gpu + features (faceattr/age.v1.gpu, faceattr/beard.v0.gpu, faceattr/emotions.v1.gpu, faceattr/gender.v2.gpu, faceattr/glasses3.v0.gpu) 260
face/elderberry_160.gpu + features (faceattr/age.v1.gpu, faceattr/beard.v0.gpu, faceattr/emotions.v1.gpu, faceattr/gender.v2.gpu, faceattr/glasses3.v0.gpu) 235

Производительность: findface-video-worker и findface-video-worker-gpu

Потребление памяти и скорость на CPU: findface-video-worker

Поток RAM, Мб Использование CPU,% (i5-8400 6 ядер) Скорость обработки, FPS* (i5-8400)
1x 720p25FPS 370 230 62
2x 720p25FPS 755 500 56
3x 720p25FPS 1040 580 45
4x 720p25FPS 1437 600 36
5x 720p25FPS 1900 600 24
8x 720p25FPS 2650 600 18
1x 1080p25FPS 502 250 41
2x 1080p25FPS 1023 508 37
3x 1080p25FPS 1529 590 30
4x 1080p25FPS 2031 594 23
1x 720p25FPS + 1x 1080p25FPS 890 453 38
2x 720p25FPS + 2x 1080p25FPS 1750 590 21

Важно

Если скорость обработки видеоизображения меньше частоты кадров, это означает, что системе не хватает ресурсов, в связи с чем видеодетектор лиц пропускает кадры. Избегайте данной ситуации, поскольку она может привести к пропускам лиц, нестабильной работе и возможным сбоям.

Для проверки потребления ресурсов выполните команду:

sudo journalctl -f -a -u findface-video-worker | grep dropped

Следующие строки в результате указывают на то, что ресурсов не хватает:

findface-video-worker[28882]: [2] 2 frames dropped!
findface-video-worker[28882]: [1] 6 frames dropped!

В этом случае рассмотрите возможность изменения настроек компонента или конфигурации оборудования.

Потребление памяти и скорость на GPU: findface-video-worker-gpu

Поток GPU RAM, Мб Скорость обработки, FPS* (1060TI)
Без потоков 600
1x 720p25FPS 656 254
2x 720p25FPS 738 126
4x 720p25FPS 858 63
8x 720p25FPS 1117 30
1x 1080p25FPS 735 202
2x 1080p25FPS 935 96
4x 1080p25FPS 1185 48
8x 1080p25FPS 2650 48
1x 720p25FPS + 1x 1080p25FPS 803 453
2x 720p25FPS + 2x 1080p25FPS 1100 54
4x 720p25FPS + 4x 1080p25FPS 1500 26
8x 720p25FPS + 8x 1080p25FPS 2300 11

Важно

Если скорость обработки видео меньше частоты кадров, это означает, что системе не хватает ресурсов, в результате чего кадры скапливаются в памяти видеокарты. Избегайте данной ситуации, поскольку она может привести к нестабильности и возможным сбоям в работе.

Для того чтобы узнать текущую скорость обработки, выполните следующую команду в консоли findface-video-manager:

curl -s http://127.0.0.1:18810/jobs | jq -r '.[]|("id="+(.id|tostring)+" url="+.stream_url+" FPS="+(.statistic.processing_fps|tostring))'

В ответе вы найдете, с какой скоростью в настоящий момент обрабатывается каждый видеопоток. Например, если ресурсов при обработке 7 видеопотоков с характеристиками h264 (High) ([27][0][0][0] / 0x001B), yuvj420p(pc, bt709), 1920x1080, 25 fps, 25 tbr, 90k tbn, 180k tbc достаточно, вы увидите следующий результат:

id=10 url=http://restreamer.int.ntl/hls/openspace.m3u8 FPS=27.189745
id=5 url=http://restreamer.int.ntl/hls/openspace.m3u8 FPS=27.189854
id=6 url=http://restreamer.int.ntl/hls/openspace.m3u8 FPS=27.589714
id=3 url=http://restreamer.int.ntl/hls/openspace.m3u8 FPS=27.189857
id=4 url=http://restreamer.int.ntl/hls/openspace.m3u8 FPS=27.189857
id=7 url=http://restreamer.int.ntl/hls/openspace.m3u8 FPS=27.389784
id=9 url=http://restreamer.int.ntl/hls/openspace.m3u8 FPS=27.189857

Недостаток ресурсов при обработке 8 видеопотоков с аналогичными характеристиками приведет к тому, что частота обработки будет меньше частоты видеоизображения (25 fps):

id=8 url=http://restreamer.int.ntl/hls/openspace.m3u8 FPS=23.772333
id=10 url=http://restreamer.int.ntl/hls/openspace.m3u8 FPS=23.772415
id=5 url=http://restreamer.int.ntl/hls/openspace.m3u8 FPS=23.772339
id=6 url=http://restreamer.int.ntl/hls/openspace.m3u8 FPS=23.372803
id=3 url=http://restreamer.int.ntl/hls/openspace.m3u8 FPS=23.772339
id=4 url=http://restreamer.int.ntl/hls/openspace.m3u8 FPS=23.772339
id=7 url=http://restreamer.int.ntl/hls/openspace.m3u8 FPS=20.775822
id=9 url=http://restreamer.int.ntl/hls/openspace.m3u8 FPS=22.573729

Еще меньшие значения скорости будут зарегистрированы при обработке 10 видеопотоков с такими же характеристиками:

id=7 url=http://restreamer.int.ntl/hls/openspace.m3u8 FPS=20.380642
id=9 url=http://restreamer.int.ntl/hls/openspace.m3u8 FPS=20.380642
id=2 url=http://restreamer.int.ntl/hls/openspace.m3u8 FPS=20.380646
id=8 url=http://restreamer.int.ntl/hls/openspace.m3u8 FPS=20.380642
id=10 url=http://restreamer.int.ntl/hls/openspace.m3u8 FPS=9.984919e-05
id=5 url=http://restreamer.int.ntl/hls/openspace.m3u8 FPS=20.380642
id=6 url=http://restreamer.int.ntl/hls/openspace.m3u8 FPS=20.380642
id=1 url=http://restreamer.int.ntl/hls/openspace.m3u8 FPS=20.380651
id=3 url=http://restreamer.int.ntl/hls/openspace.m3u8 FPS=20.180836
id=4 url=http://restreamer.int.ntl/hls/openspace.m3u8 FPS=19.581406

Важно

Если видеодетектор лиц на базе GPU обрабатывает потоки с одинаковым разрешением, количество потоков не сильно влияет на потребление памяти GPU, поскольку все они обрабатываются одним обработчиком. В противоположность этому, потребление памяти значительно возрастает при обработке потоков с разными разрешениями, поскольку на каждое разрешение выделяется отдельный обработчик.

Примеры конфигурации оборудования

Важно

Конфигурации оборудования в данном разделе приведены только для справки. Не используйте их для подбора конфигурации своей системы. Для выбора оптимальной конфигурации обратитесь за советом к нашим специалистам по адресу support@ntechlab.com.

Потребление ресурсов может отличаться в зависимости от следующих факторов:

  • Частота HTTP-запросов, отправляемых в сервис findface-extraction-api (зависит от количества лиц в поле зрения камеры, числа поисковых запросов пользователей и т. д.).
  • Качество видеоизображения (видео с помехами, пестрое видео потребляют больше ресурсов).
  • Интенсивность движения в кадре.

Следующие примеры приведены для стандартной конфигурации компонентов.

Важно

Изменение некоторых параметров компонентов может значительно повлиять на потребление ресурсов.

Сервер на CPU

Камеры CPU RAM, Гб Извлечение
1x720p25FPS Intel Core i5 - 6400 (4 ядра 2700 МГц) 8 elderberry_160 + атрибуты* model_instances = 1 или elderberry_576 model_instances = 1
2x720p25FPS минимальная: Intel Core i7 - 6700 (4 ядра 3400 МГц); рекомендуемая: Intel Core i7 - 6850K (6 ядер 3600 МГц) 12 elderberry_160 + атрибуты* model_instances = 2 или elderberry_576 + атрибуты* model_instances = 2
4x720p25FPS минимальная: Intel Core i7 - 8700K (6 ядер 3700 МГц); рекомендуемая: Intel Core i9 - 9900K (8 ядер 3600 МГц) 16 elderberry_576 + атрибуты* model_instances = 2 или elderberry_576 model_instances = 3
1x1080p25FPS минимальная: Intel Core i7 - 6700 (4 cores 3400 МГц); рекомендуемая: Intel Core i7 - 6850K (6 ядер 3600 МГц) 32 elderberry_576 + атрибуты* model_instances = 1 или elderberry_576 model_instances = 2

Сервер на GPU

Камеры CPU RAM, Гб GPU Установка Извлечение Видео
1x720p25FPS Intel Core i5 - 6400 (4 ядра 2700 МГц) 8 nVidia GeForce GTX1060 6 Гб extraction-api на CPU video-worker на GPU elderberry_160 + атрибуты* model_instances = 1 или elderberry_576.cpu model_instances = 1 базовая конфигурация
extraction-api на GPU video-worker на CPU базовая конфигурация базовая конфигурация
2x720p25FPS Intel Core i5 - 6400 (4 ядра 2700 МГц) 12 nVidia GeForce GTX1060 6 Гб extraction-api на CPU video-worker на GPU elderberry_160 + атрибуты* model_instances = 2 или elderberry_576.cpu + атрибуты model_instances = 1 или elderberry_576.cpu model_instances = 2 базовая конфигурация
extraction-api на GPU video-worker на CPU базовая конфигурация базовая конфигурация
4x720p25FPS Intel Core i5 - 8400 (4 ядра 2800 МГц) 16 nVidia GeForce GTX1060 6 Гб extraction-api на CPU video-worker на GPU elderberry_576.cpu + атрибуты* model_instances = 2 базовая конфигурация
8x720p25FPS Intel Core i5 - 8400 (4 ядер 2800MHz) Intel Core i7 - 6700 (4 ядер 3400MHz) 16 nVidia GeForce GTX1060 TI 6 Гб extraction-api на CPU video-worker на GPU elderberry_576.cpu + атрибуты* model_instances = 2 базовая конфигурация
16x720p25FPS Intel Core i7 - 6700 (4 ядра 3400MHz) Intel Core i7 - 8700K (6 ядер 3700MHz) Intel Core i9 - 9900K (8 ядер 3600MHz) 32 2x nVidia GeForce GTX1060 TI 6 Гб extraction-api на CPU video-worker на GPU elderberry_576.cpu + атрибуты* model_instances = 4 или базовая конфигурация