Системные требования¶
Для расчета характеристик серверов FindFace Security используйте приведенные ниже системные требования.
Совет
Сначала обязательно ознакомьтесь с архитектурой FindFace Security.
В этой главе:
Базовая конфигурация¶
Важно
Если разрешение используемой камеры превышает 1280x720 пикселей, настоятельно рекомендуется использовать пакет с ускорением на GPU findface-video-worker-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 980 4 Гб | Nvidia Geforce® GTX 1080+ с 8+ Гб RAM |
Поддерживаемые серии: GeForce (Maxwell, Pascal, Turing и выше), Tesla (Maxwell, Pascal, Volta v100, Turing и выше) | ||
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 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-cpu
и findface-video-worker-gpu
¶
Потребление памяти и скорость на CPU: findface-video-worker-cpu
Поток | 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-cpu | 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 или | базовая конфигурация |