تقرير اختبار Milvus 2.2.2 المعياري
يعرض هذا التقرير نتائج الاختبار الرئيسية لـ Milvus 2.2.0. ويهدف إلى تقديم صورة عن أداء البحث في Milvus 2.2.0، خاصةً في القدرة على التوسيع والتوسع.

لقد أجرينا مؤخرًا معيارًا قياسيًا مقابل Milvus 2.2.3 وتوصلنا إلى النتائج الرئيسية التالية:
- انخفاض بمقدار 2.5 أضعاف في زمن انتقال البحث
- زيادة بمقدار 4.5 أضعاف في QPS
- بحث التشابه على نطاق المليار مع انخفاض طفيف في الأداء
- قابلية التوسع الخطي عند استخدام نسخ متماثلة متعددة
للحصول على التفاصيل، يرجى الرجوع إلى هذه الورقة البيضاء ورمز الاختبار القياسي ذي الصلة.
الملخص
- بالمقارنة مع Milvus 2.1، تزيد QPS في Milvus 2.2.0 من Milvus 2.2.0 بأكثر من 48% في وضع التجميع وأكثر من 75% في الوضع المستقل.
- يتمتع Milvus 2.2.0 بقدرة مذهلة على التوسع والتوسع:
- تزداد QPS خطيًا عند توسيع نوى وحدة المعالجة المركزية من 8 إلى 32 نواة.
- تزداد QPS خطيًا عند توسيع نسخ Querynode المتماثلة من 1 إلى 8.
المصطلحات
انقر للاطلاع على تفاصيل المصطلحات المستخدمة في الاختبار
المصطلح
الوصف
ن كيو كيو
عدد المتجهات المراد البحث عنها في طلب بحث واحد
توبك
عدد أقرب المتجهات المطلوب استرجاعها لكل متجه (في nq) في طلب البحث
هف
معلمة بحث خاصة بفهرس HNSW
RT
زمن الاستجابة من إرسال الطلب إلى استلام الاستجابة
كيو بي إس
عدد طلبات البحث التي تتم معالجتها بنجاح في الثانية الواحدة
بيئة الاختبار
يتم إجراء جميع الاختبارات في البيئات التالية.
بيئة الأجهزة
الأجهزة | المواصفات |
---|---|
وحدة المعالجة المركزية | وحدة المعالجة المركزية Intel® Xeon® Gold 6226R @ 2.90 جيجاهرتز |
الذاكرة | 16*\32 جيجابايت RDIMM، 3200 طن متري/ثانية |
قرص SSD | SATA 6 جيجابت في الثانية |
بيئة البرامج
البرمجيات | الإصدار |
---|---|
ميلفوس | v2.2.0 |
مجموعة تطوير البرمجيات Milvus GO SDK | v2.2.0 |
مخطط النشر
- يتم نشر مثيلات Milvus (مستقلة أو عنقودية) عبر Helm على مجموعة Kubernetes على مجموعة Kubernetes استنادًا إلى أجهزة فعلية أو افتراضية.
- تختلف الاختبارات المختلفة فقط في عدد نوى وحدة المعالجة المركزية وحجم الذاكرة وعدد النسخ المتماثلة (العقد العاملة)، والتي تنطبق فقط على مجموعات Milvus.
- تتطابق التكوينات غير المحددة مع التكوينات الافتراضية.
- تخزّن تبعيات Milvus (MinIO وPulsar وEtcd) البيانات على SSD المحلي في كل عقدة.
- يتم إرسال طلبات البحث إلى مثيلات Milvus عبر Milvus GO SDK.
مجموعات البيانات
يستخدم الاختبار مجموعة البيانات مفتوحة المصدر SIFT (128 بُعدًا) من ANN-Benchmarks.
خط أنابيب الاختبار
- قم ببدء تشغيل مثيل Milvus بواسطة Helm مع تكوينات الخادم المعنية كما هو مدرج في كل اختبار.
- اتصل بنظير Milvus عبر Milvus GO SDK واحصل على نتائج الاختبار المقابلة.
- إنشاء مجموعة.
- أدخل مليون ناقل SIFT. أنشئ فهرس HNSW وقم بتكوين معلمات الفهرس عن طريق تعيين
M
إلى8
وefConstruction
إلى200
. - تحميل المجموعة.
- ابحث بأرقام متزامنة مختلفة مع معلمات البحث
nq=1, topk=1, ef=64
، مدة كل تزامن ساعة واحدة على الأقل.
نتائج الاختبار
Milvus 2.2.0 v.s. Milvus 2.1.0
الكتلة
تكوينات الخادم (الكتلة)
yaml queryNode: replicas: 1 resources: limits: cpu: "12.0" memory: 8Gi requests: cpu: "12.0" memory: 8Gi
أداء البحث
ميلفوس | QPS | معدل نقل البيانات (TP99) / مللي ثانية | RT(TP50) / مللي ثانية | فشل / ثانية |
---|---|---|---|---|
2.1.0 | 6904 | 59 | 28 | 0 |
2.2.0 | 10248 | 63 | 24 | 0 |
أداء البحث العنقودي
مستقل
تكوينات الخادم (مستقل)
yaml standalone: replicas: 1 resources: limits: cpu: "12.0" memory: 16Gi requests: cpu: "12.0" memory: 16Gi
أداء البحث
ميلفوس | QPS | RT(TP99) / مللي ثانية | RT(TP50) / مللي ثانية | فشل / ثانية |
---|---|---|---|---|
2.1.0 | 4287 | 104 | 76 | 0 |
2.2.0 | 7522 | 127 | 79 | 0 |
أداء البحث المستقل
توسيع نطاق Milvus 2.2.0 Milvus 2.2.0
قم بتوسيع نوى وحدة المعالجة المركزية في Querynode واحد للتحقق من القدرة على التوسع.
تكوينات الخادم (الكتلة)
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
أداء البحث
أنوية وحدة المعالجة المركزية | العدد المتزامن | كيو بي إس | معدل نقل البيانات (TP99) / مللي ثانية | RT(TP50) / مللي ثانية | فشل/ث |
---|---|---|---|---|---|
8 | 500 | 7153 | 127 | 83 | 0 |
12 | 300 | 10248 | 63 | 24 | 0 |
16 | 600 | 14135 | 85 | 42 | 0 |
32 | 600 | 20281 | 63 | 28 | 0 |
أداء البحث حسب أنوية وحدة المعالجة المركزية Querynode
ميلفوس 2.2.0 توسيع النطاق
قم بتوسيع المزيد من النسخ المتماثلة مع المزيد من Querynodes للتحقق من القدرة على التوسع.
ملاحظة: عدد Querynodes يساوي replica_number
عند تحميل المجموعة.
تكوينات الخادم (المجموعة)
yaml queryNode: replicas: 1 / 2 / 4 / 8 resources: limits: cpu: "8.0" memory: 8Gi requests: cpu: "8.0" memory: 8Gi
النسخ المتماثلة | العدد المتزامن | كيو بي إس | RT(TP99) / مللي ثانية | RT(TP50) / مللي ثانية | فشل/ث |
---|---|---|---|---|---|
1 | 500 | 7153 | 127 | 83 | 0 |
2 | 500 | 15903 | 105 | 27 | 0 |
4 | 800 | 19281 | 109 | 40 | 0 |
8 | 1200 | 30655 | 93 | 38 | 0 |
أداء البحث حسب النسخ المتماثلة ل Querynode
ما التالي
- جرّب إجراء اختبارات Milvus 2.2.0 المعيارية بنفسك بالرجوع إلى هذا الدليل، إلا أنه يجب عليك بدلاً من ذلك استخدام Milvus 2.2 و Pymilvus 2.2 في هذا الدليل.