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

milvus-logo
LFAI
  • Home
  • Blog
  • Panduan Singkat untuk Membandingkan Milvus 2.1

Panduan Singkat untuk Membandingkan Milvus 2.1

  • Engineering
August 16, 2022
Yanliang Qiao

Cover Sampul

Baru-baru ini, kami telah memperbarui laporan benchmark Milvus 2.1. Pengujian dengan dataset 1 juta vektor telah membuktikan bahwa QPS dapat ditingkatkan secara dramatis dengan menggabungkan kueri nq kecil.

Berikut adalah beberapa skrip sederhana bagi Anda untuk mereproduksi pengujian dengan mudah.

Prosedur

  1. Menyebarkan Milvus mandiri atau cluster. Dalam kasus ini, alamat IP server Milvus adalah 10.100.31.105.

  2. Menerapkan sebuah klien. Dalam kasus ini, kita menggunakan Ubuntu 18.04 dan Python 3.8.13 untuk penyebaran. Jalankan kode berikut untuk menginstal PyMilvus 2.1.1.

pip install pymilvus==2.1.1
  1. Unduh dan salin berkas-berkas berikut ini ke direktori kerja yang sama dengan klien. Dalam kasus ini, direktori kerja adalah /go_ben.

    Catatan:

    • benchmark dan benchmark-mac adalah berkas yang dapat dieksekusi yang dikembangkan dan dikompilasi menggunakan Go SDK 2.1.1. Mereka hanya digunakan untuk melakukan pencarian secara bersamaan.

    • Untuk pengguna Ubuntu, silakan unduh benchmark; untuk pengguna macOS, silakan unduh benchmark-mac.

    • Izin yang dapat dieksekusi diperlukan untuk mengakses benchmark atau benchmark-mac.

    • Pengguna Mac harus mempercayai file benchmark-mac dengan mengonfigurasi Keamanan & Privasi di Preferensi Sistem.

    • Pengaturan tentang pencarian bersamaan dapat ditemukan dan dimodifikasi dalam kode sumber go_benchmark.py.

  1. Buat koleksi dan masukkan data vektor.
root@milvus-pytest:/go_ben# python collection_prepare.py 10.100.31.105 
  1. Buka /tmp/collection_prepare.log untuk memeriksa hasil yang sedang berjalan.
...
08/11/2022 17:33:34 PM - INFO - Build index costs 263.626
08/11/2022 17:33:54 PM - INFO - Collection prepared completed
  1. Hubungi benchmark (atau benchmark-mac di macOS) untuk melakukan pencarian bersamaan.
root@milvus-pytest:/go_ben# python go_benchmark.py 10.100.31.105 ./benchmark
[write_json_file] Remove file(search_vector_file.json).
[write_json_file] Write json file:search_vector_file.json done.
Params of go_benchmark: ['./benchmark', 'locust', '-u', '10.100.31.105:19530', '-q', 'search_vector_file.json', '-s', '{\n  "collection_name": "random_1m",\n  "partition_names": [],\n  "fieldName": "embedding",\n  "index_type": "HNSW",\n  "metric_type": "L2",\n  "params": {\n    "sp_value": 64,\n    "dim": 128\n  },\n  "limit": 1,\n  "expr": null,\n  "output_fields": [],\n  "timeout": 600\n}', '-p', '10', '-f', 'json', '-t', '60', '-i', '20', '-l', 'go_log_file.log']
[2022-08-11 11:37:39.811][    INFO] - Name      #   reqs      # fails  |       Avg       Min       Max    Median  |     req/s  failures/s (benchmark_run.go:212:sample)
[2022-08-11 11:37:39.811][    INFO] - go search     9665     0(0.00%)  |    20.679     6.499    81.761    12.810  |    483.25        0.00 (benchmark_run.go:213:sample)
[2022-08-11 11:37:59.811][    INFO] - Name      #   reqs      # fails  |       Avg       Min       Max    Median  |     req/s  failures/s (benchmark_run.go:212:sample)
[2022-08-11 11:37:59.811][    INFO] - go search    19448     0(0.00%)  |    20.443     6.549    78.121    13.401  |    489.22        0.00 (benchmark_run.go:213:sample)
[2022-08-11 11:38:19.811][    INFO] - Name      #   reqs      # fails  |       Avg       Min       Max    Median  |     req/s  failures/s (benchmark_run.go:212:sample)
[2022-08-11 11:38:19.811][    INFO] - go search    29170     0(0.00%)  |    20.568     6.398    76.887    12.828  |    486.15        0.00 (benchmark_run.go:213:sample)
[2022-08-11 11:38:19.811][   DEBUG] - go search run finished, parallel: 10(benchmark_run.go:95:benchmark)
[2022-08-11 11:38:19.811][    INFO] - Name      #   reqs      # fails  |       Avg       Min       Max    Median  |     req/s  failures/s (benchmark_run.go:159:samplingLoop)
[2022-08-11 11:38:19.811][    INFO] - go search    29180     0(0.00%)  |    20.560     6.398    81.761    13.014  |    486.25        0.00 (benchmark_run.go:160:samplingLoop)
Result of go_benchmark: {'response': True, 'err_code': 0, 'err_message': ''} 
  1. Buka file go_log_file.log di bawah direktori saat ini untuk memeriksa log pencarian terperinci. Berikut ini adalah informasi pencarian yang dapat Anda temukan di log pencarian.
    • reqs: jumlah permintaan pencarian dari saat konkurensi terjadi hingga saat ini (rentang waktu saat ini)

    • gagal: jumlah permintaan yang gagal sebagai persentase dari reqs dalam rentang waktu saat ini

    • Avg: waktu respons permintaan rata-rata dalam rentang waktu saat ini (unit: milidetik)

    • Min: waktu respons permintaan minimum dalam rentang waktu saat ini (unit: milidetik)

    • Maks: waktu respons permintaan maksimum dalam rentang waktu saat ini (unit: milidetik)

    • Median: waktu respons permintaan rata-rata dalam rentang waktu saat ini (unit: milidetik)

    • req/s: jumlah permintaan per detik, yaitu QPS

    • kegagalan/s: jumlah rata-rata permintaan yang gagal per detik dalam rentang waktu saat ini

Mengunduh Skrip dan File yang Dapat Dieksekusi

Apa yang selanjutnya

Dengan dirilisnya Milvus 2.1 secara resmi, kami telah menyiapkan serangkaian blog yang memperkenalkan fitur-fitur baru. Baca lebih lanjut dalam seri blog ini:

Try Managed Milvus for Free

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

Get Started

Like the article? Spread the word

Terus Baca