🚀 Попробуйте Zilliz Cloud, полностью управляемый Milvus, бесплатно — ощутите 10-кратное увеличение производительности! Попробовать сейчас>

milvus-logo
LFAI
Главная
  • О Милвусе
  • Home
  • Docs
  • О Милвусе

  • Бенчмарки

Отчет о тестировании Milvus 2.2 Benchmark

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

Milvus Performance Evaluation 2023

Недавно мы провели сравнение с Milvus 2.2.3 и получили следующие основные результаты:

  • 2,5-кратное сокращение задержки при поиске
  • Увеличение QPS в 4,5 раза
  • Поиск сходства в миллиардных масштабах с незначительным снижением производительности
  • Линейная масштабируемость при использовании нескольких реплик.

Для получения более подробной информации, пожалуйста, обратитесь к этому техническому описанию и соответствующему тестовому коду бенчмарка.

Резюме

  • По сравнению с Milvus 2.1, QPS Milvus 2.2.0 увеличивается более чем на 48 % в кластерном режиме и более чем на 75 % в автономном режиме.
  • Milvus 2.2.0 обладает впечатляющей способностью к увеличению и уменьшению масштаба:
    • QPS линейно увеличивается при увеличении числа ядер процессора с 8 до 32.
    • QPS линейно увеличивается при увеличении количества реплик Querynode с 1 до 8.

Терминология

Нажмите, чтобы узнать подробности терминов, использованных в тесте
Термин Описание
nq Количество векторов для поиска в одном поисковом запросе
topk Число ближайших векторов, которые будут найдены для каждого вектора (в nq) в поисковом запросе
ef Параметр поиска, специфичный для индекса HNSW
RT Время от отправки запроса до получения ответа
QPS Количество успешно обработанных поисковых запросов в секунду

Тестовая среда

Все тесты проводятся в следующих средах.

Аппаратная среда

Аппаратное обеспечениеСпецификация
ПРОЦЕССОРЦентральный процессор Intel® Xeon® Gold 6226R @ 2,90 ГГц
Память16*\32 ГБ RDIMM, 3200 MT/s
ТВЕРДОТЕЛЬНЫЙ НАКОПИТЕЛЬSATA 6 Гбит/с

Программная среда

Программное обеспечениеВерсия
Milvusv2.2.0
Milvus GO SDKv2.2.0

Схема развертывания

  • Экземпляры Milvus (автономные или кластерные) разворачиваются через Helm на кластере Kubernetes на базе физических или виртуальных машин.
  • Различные тесты могут отличаться количеством ядер процессора, объемом памяти и количеством реплик (рабочих узлов), что относится только к кластерам Milvus.
  • Неопределенные конфигурации идентичны конфигурациям по умолчанию.
  • Зависимости Milvus (MinIO, Pulsar и Etcd) хранят данные на локальном SSD в каждом узле.
  • Поисковые запросы отправляются на экземпляры Milvus через Milvus GO SDK.

Наборы данных

В тесте используется открытый набор данных SIFT (128 измерений) из ANN-Benchmarks.

Конвейер тестирования

  1. Запустите экземпляр Milvus с помощью Helm с соответствующими конфигурациями сервера, указанными в каждом тесте.
  2. Подключитесь к экземпляру Milvus с помощью Milvus GO SDK и получите соответствующие результаты тестирования.
  3. Создайте коллекцию.
  4. Вставьте 1 миллион векторов SIFT. Создайте индекс HNSW и настройте параметры индекса, установив M на 8 и efConstruction на 200.
  5. Загрузите коллекцию.
  6. Выполните поиск с различным числом одновременных запросов с параметрами поиска nq=1, topk=1, ef=64, длительность каждого одновременного запроса не менее 1 часа.

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

Milvus 2.2.0 против Milvus 2.1.0

Кластер

Конфигурации серверов (кластер)yaml queryNode: replicas: 1 resources: limits: cpu: "12.0" memory: 8Gi requests: cpu: "12.0" memory: 8Gi

Производительность поиска

MilvusQPSRT(TP99) / мсRT(TP50) / мсотказ/с
2.1.0690459280
2.2.01024863240

Cluster search performance Производительность кластерного поиска

Автономный

Конфигурации серверов (автономные)yaml standalone: replicas: 1 resources: limits: cpu: "12.0" memory: 16Gi requests: cpu: "12.0" memory: 16Gi

Производительность поиска

MilvusQPSRT(TP99) / мсRT(TP50) / мсотказ/с
2.1.04287104760
2.2.07522127790

Standalone search performance Производительность автономного поиска

Milvus 2.2.0 Масштабирование

Увеличьте количество процессорных ядер в одном Querynode, чтобы проверить возможность масштабирования.

Конфигурации серверов (кластер)yaml queryNode: replicas: 1 resources: limits: cpu: "8.0" /"12.0" /"16.0" /"32.0" memory: 8Gi requests: cpu: "8.0" /"12.0" /"16.0" /"32.0" memory: 8Gi

Производительность поиска

Ядра процессораКоличество одновременныхQPSRT(TP99) / мсRT(TP50) / мсотказ/с
85007153127830
123001024863240
166001413585420
326002028163280

Search performance by Querynode CPU cores Производительность поиска по процессорным ядрам Querynode

Milvus 2.2.0 Масштабирование

Расширьте количество реплик с помощью большего числа Querynodes, чтобы проверить возможность масштабирования.

Примечание: количество Querynodes равно replica_number при загрузке коллекции.

Конфигурации сервера (кластера)yaml queryNode: replicas: 1 / 2 / 4 / 8 resources: limits: cpu: "8.0" memory: 8Gi requests: cpu: "8.0" memory: 8Gi

РепликиКоличество одновременныхQPSRT(TP99) / мсRT(TP50) / мсотказ/с
15007153127830
250015903105270
480019281109400
812003065593380

Search performance by Querynode replicas Производительность поиска по репликам Querynode

Что дальше

  • Попробуйте самостоятельно выполнить эталонные тесты Milvus 2.2.0, обратившись к этому руководству, за исключением того, что в данном руководстве следует использовать Milvus 2.2 и Pymilvus 2.2.

Попробуйте Managed Milvus бесплатно

Zilliz Cloud работает без проблем, поддерживается Milvus и в 10 раз быстрее.

Начать
Обратная связь

Была ли эта страница полезной?