🚀 جرب Zilliz Cloud، الـ Milvus المدارة بالكامل، مجاناً — تجربة أداء أسرع بـ 10 أضعاف! جرب الآن>>

milvus-logo
LFAI
  • Home
  • Blog
  • دليل سريع للمقارنة المعيارية ميلفوس 2.1

دليل سريع للمقارنة المعيارية ميلفوس 2.1

  • Engineering
August 16, 2022
Yanliang Qiao

Cover التغطية

قمنا مؤخرًا بتحديث التقرير المعياري لـ Milvus 2.1. أثبتت الاختبارات التي أُجريت باستخدام مجموعة بيانات مكونة من مليون ناقل أنه يمكن زيادة QPS بشكل كبير من خلال دمج الاستعلامات ذات العدد الصغير.

إليك بعض البرامج النصية البسيطة لتتمكن من إعادة إنتاج الاختبارات بسهولة.

الإجراءات

  1. نشر ميلفوس مستقل أو عنقود. في هذه الحالة، عنوان IP لخادم Milvus هو 10.100.31.105.

  2. نشر عميل. في هذه الحالة، نستخدم Ubuntu 18.04 و Python 3.8.13 للنشر. قم بتشغيل التعليمات البرمجية التالية لتثبيت PyMilvus 2.1.1.

pip install pymilvus==2.1.1
  1. قم بتنزيل الملفات التالية وانسخها إلى نفس دليل العمل مثل العميل. في هذه الحالة، دليل العمل هو /go_ben.

    ملاحظة:

    • benchmark و benchmark-mac عبارة عن ملفات قابلة للتنفيذ تم تطويرها وتجميعها باستخدام Go SDK 2.1.1. يتم استخدامها فقط لإجراء بحث متزامن.

    • لمستخدمي Ubuntu، يرجى تنزيل benchmark ؛ لمستخدمي macOS، يرجى تنزيل benchmark-mac.

    • الأذونات القابلة للتنفيذ مطلوبة للوصول إلى benchmark أو benchmark-mac.

    • يحتاج مستخدمو Mac إلى الوثوق بالملف benchmark-mac من خلال تكوين الأمان والخصوصية في تفضيلات النظام.

    • يمكن العثور على الإعدادات الخاصة بالبحث المتزامن وتعديلها في الكود المصدري go_benchmark.py.

  1. قم بإنشاء مجموعة وإدراج بيانات المتجه.
root@milvus-pytest:/go_ben# python collection_prepare.py 10.100.31.105 
  1. افتح /tmp/collection_prepare.log للتحقق من نتيجة التشغيل.
...
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. اتصل على benchmark (أو benchmark-mac على نظام macOS) لإجراء بحث متزامن.
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. افتح الملف go_log_file.log ضمن الدليل الحالي للتحقق من سجل البحث المفصل. فيما يلي معلومات البحث التي يمكنك العثور عليها في سجل البحث.
    • reqs: عدد طلبات البحث من لحظة حدوث التزامن إلى اللحظة الحالية (الفترة الزمنية الحالية)

    • عدد الطلبات الفاشلة: عدد الطلبات الفاشلة كنسبة مئوية من الطلبات الفاشلة في الفترة الزمنية الحالية

    • Avg: متوسط زمن الاستجابة للطلب في الفترة الزمنية الحالية (الوحدة: مللي ثانية)

    • الحد الأدنى: الحد الأدنى لزمن الاستجابة للطلب في الفترة الزمنية الحالية (الوحدة: مللي ثانية)

    • الحد الأقصى: الحد الأقصى لوقت استجابة الطلب في الفترة الزمنية الحالية (الوحدة: مللي ثانية)

    • الوسيط: متوسط زمن الاستجابة للطلب في الفترة الزمنية الحالية (الوحدة: مللي ثانية)

    • req/ث: عدد الطلبات في الثانية، أي QPS

    • حالات الفشل/ث: متوسط عدد الطلبات الفاشلة في الثانية في الفترة الزمنية الحالية

تنزيل البرامج النصية والملفات القابلة للتنفيذ

ما التالي

مع الإصدار الرسمي لـ Milvus 2.1، أعددنا سلسلة من المدونات التي تقدم الميزات الجديدة. اقرأ المزيد في سلسلة المدونات هذه:

Try Managed Milvus for Free

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

Get Started

Like the article? Spread the word

استمر في القراءة