🚀 Coba Zilliz Cloud, Milvus yang sepenuhnya terkelola, secara gratis—rasakan performa 10x lebih cepat! Coba Sekarang>>

milvus-logo
LFAI
Beranda
  • Tentang Milvus

Laporan Uji Coba Benchmark Milvus 2.2

Laporan ini menunjukkan hasil pengujian utama Milvus 2.2.0. Laporan ini bertujuan untuk memberikan gambaran kinerja pencarian Milvus 2.2.0, terutama dalam kemampuan untuk meningkatkan dan mengurangi.

Milvus Performance Evaluation 2023

Kami baru saja menjalankan benchmark terhadap Milvus 2.2.3 dan mendapatkan beberapa temuan penting berikut ini:

  • Pengurangan latensi pencarian sebesar 2,5x lipat
  • Peningkatan 4,5x dalam QPS
  • Pencarian kemiripan skala miliaran dengan sedikit penurunan kinerja
  • Skalabilitas linier saat menggunakan beberapa replika

Untuk detailnya, silakan merujuk ke whitepaper ini dan kode uji benchmark terkait.

Ringkasan

  • Dibandingkan dengan Milvus 2.1, QPS Milvus 2.2.0 meningkat lebih dari 48% dalam mode cluster dan lebih dari 75% dalam mode mandiri.
  • Milvus 2.2.0 memiliki kemampuan yang mengesankan untuk meningkatkan dan menurunkan skala:
    • QPS meningkat secara linear ketika memperluas core CPU dari 8 menjadi 32.
    • QPS meningkat secara linear ketika memperluas replika Querynode dari 1 hingga 8.

Terminologi

Klik untuk melihat detail istilah yang digunakan dalam pengujian
Istilah Deskripsi
nq Jumlah vektor yang akan dicari dalam satu permintaan pencarian
topk Jumlah vektor terdekat yang akan diambil untuk setiap vektor (dalam nq) dalam permintaan pencarian
ef Parameter pencarian khusus untuk indeks HNSW
RT Waktu respons dari mengirim permintaan hingga menerima respons
QPS Jumlah permintaan pencarian yang berhasil diproses per detik

Lingkungan pengujian

Semua pengujian dilakukan di bawah lingkungan berikut ini.

Lingkungan perangkat keras

Perangkat kerasSpesifikasi
CPUIntel® Xeon® Gold 6226R CPU @ 2,90GHz
MemoriRDIMM 16 * \ 32 GB, 3200 MT/s
SSDSATA 6 Gbps

Lingkungan perangkat lunak

Perangkat lunakVersi
Milvusv2.2.0
Milvus GO SDKv2.2.0

Skema penyebaran

  • Instance Milvus (mandiri atau klaster) digunakan melalui Helm pada klaster Kubernetes berdasarkan mesin fisik atau virtual.
  • Pengujian yang berbeda hanya bervariasi dalam jumlah inti CPU, ukuran memori, dan jumlah replika (node pekerja), yang hanya berlaku untuk cluster Milvus.
  • Konfigurasi yang tidak ditentukan identik dengan konfigurasi default.
  • Ketergantungan Milvus (MinIO, Pulsar, dan Etcd) menyimpan data pada SSD lokal di setiap node.
  • Permintaan pencarian dikirim ke instance Milvus melalui Milvus GO SDK.

Kumpulan data

Pengujian ini menggunakan dataset sumber terbuka SIFT (128 dimensi) dari ANN-Benchmarks.

Pipeline pengujian

  1. Mulai instans Milvus dengan Helm dengan konfigurasi server masing-masing seperti yang tercantum dalam setiap pengujian.
  2. Hubungkan ke instance Milvus melalui Milvus GO SDK dan dapatkan hasil pengujian yang sesuai.
  3. Buat sebuah koleksi.
  4. Masukkan 1 juta vektor SIFT. Buat indeks HNSW dan konfigurasikan parameter indeks dengan mengatur M ke 8 dan efConstruction ke 200.
  5. Memuat koleksi.
  6. Cari dengan nomor konkuren yang berbeda dengan parameter pencarian nq=1, topk=1, ef=64, durasi setiap konkuren minimal 1 jam.

Hasil pengujian

Milvus 2.2.0 vs. Milvus 2.1.0

Cluster

Konfigurasi server (cluster)yaml queryNode: replicas: 1 resources: limits: cpu: "12.0" memory: 8Gi requests: cpu: "12.0" memory: 8Gi

Kinerja pencarian

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

Cluster search performance Performa pencarian cluster

Mandiri

Konfigurasi server (mandiri)yaml standalone: replicas: 1 resources: limits: cpu: "12.0" memory: 16Gi requests: cpu: "12.0" memory: 16Gi

Kinerja pencarian

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

Standalone search performance Performa pencarian mandiri

Peningkatan Skala Milvus 2.2.0

Perluas inti CPU dalam satu Querynode untuk memeriksa kemampuan peningkatan skala.

Konfigurasi server (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

Performa Pencarian

Inti CPUJumlah bersamaanQPSRT (TP99) / msRT (TP50) / msgagal / s
85007153127830
123001024863240
166001413585420
326002028163280

Search performance by Querynode CPU cores Performa pencarian berdasarkan inti CPU Querynode

Milvus 2.2.0 Peningkatan skala

Perluas lebih banyak replika dengan lebih banyak Querynode untuk memeriksa kemampuan untuk melakukan scale-out.

Catatan: jumlah Querynode sama dengan replica_number saat memuat koleksi.

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

ReplikaJumlah SerentakQPSRT (TP99) / msRT (TP50) / msgagal / s
15007153127830
250015903105270
480019281109400
812003065593380

Search performance by Querynode replicas Performa pencarian dengan replika Querynode

Apa selanjutnya

  • Coba lakukan pengujian benchmark Milvus 2.2.0 secara mandiri dengan mengacu pada panduan ini, kecuali Anda sebaiknya menggunakan Milvus 2.2 dan Pymilvus 2.2 dalam panduan ini.

Coba Milvus yang Dikelola secara Gratis

Zilliz Cloud bebas masalah, didukung oleh Milvus dan 10x lebih cepat.

Mulai
Umpan balik

Apakah halaman ini bermanfaat?