Результаты тестов
Нагрузочное тестирование
Нагрузочное тестирование позволяет оценить качество и скорость работы OMNI Platform под определённой нагрузкой на заданном интервале времени. В качестве тестового изображения используется изображение в формате png размером 240 КБ (512х512 пикселей).
Спецификация тестовой машины
CPU | RAM | SSD |
| 128 ГБ DDR4 2400 ECC | Samsung EVO 870 500 ГБ |
Метрики
Название метрики | Описание |
Users | Количество параллельно выполняемых запросов. |
Num threads | Число задействованных потоков CPU. |
RPS | Количество выполненных запросов в секунду. |
50%, 60%, ... (50-й, 60-й, ... перцентиль) | % запросов выполняются не более чем за это время, в мс. |
Max | Максимальное время выполнения одного запроса, в мс. |
Avg | Среднее время выполнения одного запроса, в мс. |
Основной нагрузочный тест
Условия тестирования
- Версия модели распознавания лиц: 12v1000.
- ipvs: включен.
- Размер базы лиц: 2 млн профилей.
- Масштабирование: для нагрузочного тестирования используется OMNI Platform 1.21.3 со следующими настройками масштабирования:
- image-api-age-estimator-dep: 5 экземпляров, по 2 воркера.
- image-api-emotion-estimator-dep: 5 экземпляров, по 2 воркера.
- image-api-gender-estimator-dep: 5 экземпляров, по 2 воркера.
- image-api-face-detector-liveness-estimator-dep: 5 экземпляров, по 2 воркера.
- image-api-mask-estimator-dep: 5 экземпляров, по 2 воркера.
- image-api-face-detector-template-extractor-dep: 8 экземпляров, по 2 воркера.
- image-api-face-detector-face-fitter-dep: 5 экземпляров, по 2 воркера.
- image-api-quality-assessment-estimator-dep: 5 экземпляров, по 2 воркера.
- image-api-template-extractor-dep: 5 экземпляров, по 2 воркера.
- image-api-verify-matcher-dep: 5 экземпляров, по 2 воркера.
- остальные сервисы: по 1 экземпляру.
Результаты теста
Request* | Users | Num_threads | RPS | Avg | Min | Max |
create_profile (создание профиля по изображению) | 1 | 1 | 1.05 | 952 | 901 | 1093 |
16 | 1 | 14.16 | 1129 | 997 | 2313 | |
detect (детекция и определение атрибутов лица на изображении) | 1 | 1 | 1.10 | 906 | 862 | 1044 |
16 | 1 | 14.88 | 1074 | 950 | 2372 | |
profiles (получение списка созданных профилей) | 1 | 1 | 7.78 | 128 | 98 | 279 |
230 | 1 | 243.23 | 923 | 262 | 4606 | |
search (поиск лица в базе по изображению) | 1 | 1 | 1.16 | 859 | 815 | 1026 |
16 | 1 | 16.60 | 963 | 905 | 2148 | |
search_by_sample_id (поиск лица в базе по ID сэмпла) | 1 | 1 | 17.34 | 58 | 45 | 1121 |
70 | 1 | 45.72 | 1529 | 170 | 1938 | |
verify (сравнение изображения лица с сэмплом для оценки их принадлежности одному и тому же человеку) | 1 | 1 | 1.09 | 916 | 869 | 1083 |
16 | 1 | 14.65 | 1091 | 973 | 2421 | |
verify_by_sample_id (сравнение двух сэмплов для оценки их принадлежности одному и тому же человеку) | 1 | 1 | 41.76 | 24 | 19 | 168 |
260 | 1 | 455.73 | 565 | 73 | 1128 |
/* Подробную информацию по указанным в таблице API-запросам можно посмотреть в Справочнике по API.
Нагрузочный тест на приём событий / активностей с камер
Тип проверки | Avg (мс) | Min (мс) | Max (мс) | RPS |
Приём событий | 5001 | 156 | 26882 | 24.8 |
Приём активностей | 1372 | 349 | 6169 | 66.5 |
ВЫВОДЫ
В рамках теста OMNI Platform успешно обрабатывает нагрузку на приём активностей со скоростью 1800 активностей/сек (к OMNI Platform подключено 300 камер, каждая из которых отправляет активности со скоростью 6 активностей/сек).
Нагрузка на приём событий обрабатывается со скоростью 200 событий/сек (к OMNI Platform подключено 200 камер, каждая из которых отправляет события со скоростью 1 событие/сек).