milvus-logo
LFAI
Home
  • Acerca de Milvus

Informe de pruebas comparativas de Milvus 2.2

Este informe muestra los principales resultados de las pruebas de Milvus 2.2.0. Su objetivo es proporcionar una imagen del rendimiento de búsqueda de Milvus 2.2.0, especialmente en la capacidad de ampliación y reducción.

Milvus Performance Evaluation 2023

Recientemente hemos realizado una prueba comparativa con Milvus 2.2.3 y hemos obtenido los siguientes resultados clave:

  • Una reducción de 2,5 veces en la latencia de búsqueda
  • Aumento de 4,5 veces en QPS
  • Búsqueda de similitudes a escala de miles de millones con escasa degradación del rendimiento
  • Escalabilidad lineal al utilizar múltiples réplicas

Para más detalles, consulte este artículo técnico y el código de prueba de referencia relacionado.

Resumen

  • En comparación con Milvus 2.1, el QPS de Milvus 2.2.0 aumenta más de un 48% en modo clúster y más de un 75% en modo autónomo.
  • Milvus 2.2.0 tiene una impresionante capacidad de ampliación y reducción:
    • QPS aumenta linealmente cuando se amplían los núcleos de CPU de 8 a 32.
    • QPS aumenta linealmente cuando se amplían las réplicas Querynode de 1 a 8.

Terminología

Haz clic para ver los detalles de los términos utilizados en la prueba
Término Descripción
nq Número de vectores que se buscan en una petición de búsqueda
topk Número de los vectores más cercanos que se recuperarán para cada vector (en nq) en una petición de búsqueda
ef Parámetro de búsqueda específico del índice HNSW
RT Tiempo de respuesta desde el envío de la solicitud hasta la recepción de la respuesta
QPS Número de solicitudes de búsqueda procesadas con éxito por segundo

Entorno de prueba

Todas las pruebas se realizan en los siguientes entornos.

Entorno de hardware

HardwareEspecificación
CPUCPU Intel® Xeon® Gold 6226R a 2,90 GHz
Memoria16*32 GB RDIMM, 3200 MT/s
SSDSATA 6 Gbps

Entorno de software

SoftwareVersión
Milvusv2.2.0
Milvus GO SDKv2.2.0

Esquema de despliegue

  • Las instancias de Milvus (independientes o en clúster) se despliegan a través de Helm en un clúster Kubernetes basado en máquinas físicas o virtuales.
  • Las diferentes pruebas simplemente varían en el número de núcleos de CPU, el tamaño de la memoria y el número de réplicas (nodos trabajadores), que sólo se aplica a los clústeres Milvus.
  • Las configuraciones no especificadas son idénticas a las configuraciones por defecto.
  • Las dependencias de Milvus (MinIO, Pulsar y Etcd) almacenan los datos en el SSD local de cada nodo.
  • Las peticiones de búsqueda se envían a las instancias Milvus a través de Milvus GO SDK.

Conjuntos de datos

La prueba utiliza el conjunto de datos de código abierto SIFT (128 dimensiones) de ANN-Benchmarks.

Proceso de prueba

  1. Inicie una instancia de Milvus mediante Helm con las configuraciones de servidor respectivas que se indican en cada prueba.
  2. Conéctese a la instancia de Milvus mediante Milvus GO SDK y obtenga los resultados de las pruebas correspondientes.
  3. Cree una colección.
  4. Inserte 1 millón de vectores SIFT. Cree un índice HNSW y configure los parámetros del índice estableciendo M en 8 y efConstruction en 200.
  5. Cargue la colección.
  6. Busque con diferentes números concurrentes con los parámetros de búsqueda nq=1, topk=1, ef=64, la duración de cada concurrencia es de al menos 1 hora.

Resultados de la prueba

Milvus 2.2.0 v.s. Milvus 2.1.0

Clúster

Configuraciones de servidor (cluster)yaml queryNode: replicas: 1 resources: limits: cpu: "12.0" memory: 8Gi requests: cpu: "12.0" memory: 8Gi

Rendimiento de la búsqueda

MilvusQPSRT(TP99) / msRT(TP50) / msfallo/s
2.1.0690459280
2.2.01024863240

Cluster search performance Rendimiento de la búsqueda en clúster

Independiente

Configuraciones de servidor (autónomo)yaml standalone: replicas: 1 resources: limits: cpu: "12.0" memory: 16Gi requests: cpu: "12.0" memory: 16Gi

Rendimiento de búsqueda

MilvusQPSRT(TP99) / msRT(TP50) / msfallo/s
2.1.04287104760
2.2.07522127790

Standalone search performance Rendimiento de la búsqueda autónoma

Milvus 2.2.0 Ampliación

Amplíe los núcleos de CPU en un Querynode para comprobar la capacidad de ampliación.

Configuraciones de servidor (cluster)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

Rendimiento de búsqueda

Núcleos CPUNúmero concurrenteQPSRT(TP99) / msRT(TP50) / msfallo/s
85007153127830
123001024863240
166001413585420
326002028163280

Search performance by Querynode CPU cores Rendimiento de búsqueda por núcleos de CPU Querynode

Milvus 2.2.0 Ampliación

Expanda más réplicas con más Querynodes para comprobar la capacidad de escalado.

Nota: el número de Querynodes es igual a replica_number cuando se carga la colección.

Configuraciones de servidor (cluster)yaml queryNode: replicas: 1 / 2 / 4 / 8 resources: limits: cpu: "8.0" memory: 8Gi requests: cpu: "8.0" memory: 8Gi

RéplicasNúmero concurrenteQPSRT(TP99) / msRT(TP50) / msfallo/s
15007153127830
250015903105270
480019281109400
812003065593380

Search performance by Querynode replicas Rendimiento de la búsqueda por réplicas de Querynode

Lo que sigue

  • Intente realizar las pruebas de referencia de Milvus 2.2.0 por su cuenta consultando esta guía, con la salvedad de que debería utilizar en su lugar Milvus 2.2 y Pymilvus 2.2 en esta guía.

Traducido porDeepL

Try Managed Milvus for Free

Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

Get Started
Feedback

¿Fue útil esta página?