milvus-logo
LFAI
Home
  • Über Milvus

Milvus 2.2 Benchmark-Testbericht

Dieser Bericht zeigt die wichtigsten Testergebnisse von Milvus 2.2.0. Er soll einen Überblick über die Suchleistung von Milvus 2.2.0 geben, insbesondere im Hinblick auf die Skalierbarkeit und Skalierbarkeit nach oben.

Milvus Performance Evaluation 2023

Wir haben kürzlich einen Benchmark mit Milvus 2.2.3 durchgeführt und sind zu folgenden Ergebnissen gekommen:

  • Eine 2,5-fache Reduzierung der Suchlatenz
  • Eine 4,5-fache Steigerung der QPS
  • Ähnlichkeitssuche im Milliardenmaßstab mit geringen Leistungseinbußen
  • Lineare Skalierbarkeit bei Verwendung mehrerer Replikate

Einzelheiten finden Sie in diesem Whitepaper und dem zugehörigen Benchmark-Testcode.

Zusammenfassung

  • Im Vergleich zu Milvus 2.1 erhöht sich die QPS von Milvus 2.2.0 im Clustermodus um über 48% und im Einzelplatzmodus um über 75%.
  • Milvus 2.2.0 verfügt über eine beeindruckende Fähigkeit zur Skalierung nach oben und nach unten:
    • Die QPS steigt linear an, wenn die CPU-Kerne von 8 auf 32 erweitert werden.
    • QPS nimmt linear zu, wenn die Anzahl der Querynode-Replikate von 1 auf 8 erhöht wird.

Terminologie

Klicken Sie hier, um die Details der im Test verwendeten Begriffe zu sehen
Begriff Beschreibung
nq Anzahl der zu durchsuchenden Vektoren in einer Suchanfrage
topk Anzahl der nächstgelegenen Vektoren, die für jeden Vektor (in nq) in einer Suchanfrage abgerufen werden
ef Ein für den HNSW-Index spezifischer Suchparameter
RT Antwortzeit vom Senden der Anfrage bis zum Empfang der Antwort
QPS Anzahl der Suchanfragen, die pro Sekunde erfolgreich bearbeitet werden

Testumgebung

Alle Tests werden unter den folgenden Bedingungen durchgeführt.

Hardware-Umgebung

HardwareSpezifikation
CPUIntel® Xeon® Gold 6226R CPU @ 2,90GHz
Speicher16*\32 GB RDIMM, 3200 MT/s
SSDSATA 6 Gbit/s

Software-Umgebung

SoftwareVersion
Milvusv2.2.0
Milvus GO SDKv2.2.0

Bereitstellungsschema

  • Milvus-Instanzen (Standalone oder Cluster) werden über Helm auf einem Kubernetes-Cluster basierend auf physischen oder virtuellen Maschinen bereitgestellt.
  • Verschiedene Tests unterscheiden sich lediglich in der Anzahl der CPU-Kerne, der Größe des Speichers und der Anzahl der Replikate (Worker Nodes), was nur für Milvus-Cluster gilt.
  • Nicht spezifizierte Konfigurationen sind mit den Standardkonfigurationen identisch.
  • Milvus-Abhängigkeiten (MinIO, Pulsar und Etcd) speichern Daten auf der lokalen SSD in jedem Knoten.
  • Suchanfragen werden über das Milvus GO SDK an die Milvus-Instanzen gesendet.

Datensätze

Der Test verwendet den Open-Source-Datensatz SIFT (128 Dimensionen) von ANN-Benchmarks.

Test-Pipeline

  1. Starten Sie eine Milvus-Instanz über Helm mit den entsprechenden Serverkonfigurationen, wie in jedem Test aufgeführt.
  2. Verbinden Sie sich mit der Milvus-Instanz über das Milvus GO SDK und rufen Sie die entsprechenden Testergebnisse ab.
  3. Erstellen Sie eine Sammlung.
  4. Fügen Sie 1 Million SIFT-Vektoren ein. Erstellen Sie einen HNSW-Index und konfigurieren Sie die Indexparameter, indem Sie M auf 8 und efConstruction auf 200 setzen.
  5. Laden Sie die Sammlung.
  6. Suchen Sie mit verschiedenen gleichzeitigen Nummern mit den Suchparametern nq=1, topk=1, ef=64, die Dauer jeder Gleichzeitigkeit beträgt mindestens 1 Stunde.

Testergebnisse

Milvus 2.2.0 vs. Milvus 2.1.0

Cluster

Serverkonfigurationen (Cluster)yaml queryNode: replicas: 1 resources: limits: cpu: "12.0" memory: 8Gi requests: cpu: "12.0" memory: 8Gi

Suchleistung

MilvusQPSRT(TP99) / msRT(TP50) / msAusfälle/s
2.1.0690459280
2.2.01024863240

Cluster search performance Leistung der Clustersuche

Eigenständig

Serverkonfigurationen (Standalone)yaml standalone: replicas: 1 resources: limits: cpu: "12.0" memory: 16Gi requests: cpu: "12.0" memory: 16Gi

Suchleistung

MilvusQPSRT(TP99) / msRT(TP50) / msAusfälle/s
2.1.04287104760
2.2.07522127790

Standalone search performance Eigenständige Suchleistung

Milvus 2.2.0 Hochskalierung

Erweitern Sie die CPU-Kerne in einem Querynode, um die Fähigkeit zur Skalierung zu prüfen.

Server-Konfigurationen (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

Suchleistung

CPU-KerneGleichzeitige AnzahlQPSRT(TP99) / msRT(TP50) / msAusfälle/s
85007153127830
123001024863240
166001413585420
326002028163280

Search performance by Querynode CPU cores Suchleistung nach Querynode CPU-Kernen

Milvus 2.2.0 Ausdehnung

Erweitern Sie weitere Replikate mit mehr Querynodes, um die Fähigkeit zur Skalierung zu prüfen.

Hinweis: Die Anzahl der Querynodes entspricht der replica_number beim Laden der Sammlung.

Server-Konfigurationen (Cluster)yaml queryNode: replicas: 1 / 2 / 4 / 8 resources: limits: cpu: "8.0" memory: 8Gi requests: cpu: "8.0" memory: 8Gi

ReplikateGleichzeitige AnzahlQPSRT(TP99) / msRT(TP50) / msAusfälle/s
15007153127830
250015903105270
480019281109400
812003065593380

Search performance by Querynode replicas Suchleistung nach Querynode-Replikaten

Wie geht es weiter?

  • Versuchen Sie, Milvus 2.2.0-Benchmark-Tests selbst durchzuführen, indem Sie sich auf diesen Leitfaden beziehen, nur dass Sie stattdessen Milvus 2.2 und Pymilvus 2.2 in diesem Leitfaden verwenden sollten.

Übersetzt vonDeepLogo

Try Managed Milvus for Free

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

Get Started
Feedback

War diese Seite hilfreich?