دليل سريع للمقارنة المعيارية ميلفوس 2.1
التغطية
قمنا مؤخرًا بتحديث التقرير المعياري لـ Milvus 2.1. أثبتت الاختبارات التي أُجريت باستخدام مجموعة بيانات مكونة من مليون ناقل أنه يمكن زيادة QPS بشكل كبير من خلال دمج الاستعلامات ذات العدد الصغير.
إليك بعض البرامج النصية البسيطة لتتمكن من إعادة إنتاج الاختبارات بسهولة.
الإجراءات
نشر ميلفوس مستقل أو عنقود. في هذه الحالة، عنوان IP لخادم Milvus هو 10.100.31.105.
نشر عميل. في هذه الحالة، نستخدم Ubuntu 18.04 و Python 3.8.13 للنشر. قم بتشغيل التعليمات البرمجية التالية لتثبيت PyMilvus 2.1.1.
pip install pymilvus==2.1.1
قم بتنزيل الملفات التالية وانسخها إلى نفس دليل العمل مثل العميل. في هذه الحالة، دليل العمل هو
/go_ben
.benchmark
(لأوبونتو) أوbenchmark-mac
(لنظام التشغيل macOS)
ملاحظة:
benchmark
وbenchmark-mac
عبارة عن ملفات قابلة للتنفيذ تم تطويرها وتجميعها باستخدام Go SDK 2.1.1. يتم استخدامها فقط لإجراء بحث متزامن.لمستخدمي Ubuntu، يرجى تنزيل
benchmark
؛ لمستخدمي macOS، يرجى تنزيلbenchmark-mac
.الأذونات القابلة للتنفيذ مطلوبة للوصول إلى
benchmark
أوbenchmark-mac
.يحتاج مستخدمو Mac إلى الوثوق بالملف
benchmark-mac
من خلال تكوين الأمان والخصوصية في تفضيلات النظام.يمكن العثور على الإعدادات الخاصة بالبحث المتزامن وتعديلها في الكود المصدري
go_benchmark.py
.
- قم بإنشاء مجموعة وإدراج بيانات المتجه.
root@milvus-pytest:/go_ben# python collection_prepare.py 10.100.31.105
- افتح
/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
- اتصل على
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': ''}
- افتح الملف
go_log_file.log
ضمن الدليل الحالي للتحقق من سجل البحث المفصل. فيما يلي معلومات البحث التي يمكنك العثور عليها في سجل البحث.reqs: عدد طلبات البحث من لحظة حدوث التزامن إلى اللحظة الحالية (الفترة الزمنية الحالية)
عدد الطلبات الفاشلة: عدد الطلبات الفاشلة كنسبة مئوية من الطلبات الفاشلة في الفترة الزمنية الحالية
Avg: متوسط زمن الاستجابة للطلب في الفترة الزمنية الحالية (الوحدة: مللي ثانية)
الحد الأدنى: الحد الأدنى لزمن الاستجابة للطلب في الفترة الزمنية الحالية (الوحدة: مللي ثانية)
الحد الأقصى: الحد الأقصى لوقت استجابة الطلب في الفترة الزمنية الحالية (الوحدة: مللي ثانية)
الوسيط: متوسط زمن الاستجابة للطلب في الفترة الزمنية الحالية (الوحدة: مللي ثانية)
req/ث: عدد الطلبات في الثانية، أي QPS
حالات الفشل/ث: متوسط عدد الطلبات الفاشلة في الثانية في الفترة الزمنية الحالية
تنزيل البرامج النصية والملفات القابلة للتنفيذ
benchmark لأوبونتو
benchmark-mac لنظام التشغيل macOS
ما التالي
مع الإصدار الرسمي لـ Milvus 2.1، أعددنا سلسلة من المدونات التي تقدم الميزات الجديدة. اقرأ المزيد في سلسلة المدونات هذه:
- كيفية استخدام بيانات السلاسل لتمكين تطبيقات البحث عن التشابه لديك
- استخدام ميلفوس المدمج لتثبيت وتشغيل ميلفوس مع بايثون على الفور
- زيادة إنتاجية قراءة قاعدة بيانات المتجهات باستخدام النسخ المتماثلة في الذاكرة
- فهم مستوى الاتساق في قاعدة بيانات Milvus Vector في قاعدة بيانات Milvus Vector
- كيف تضمن قاعدة بيانات Milvus Vector أمان البيانات؟
Try Managed Milvus for Free
Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.
Get StartedLike the article? Spread the word