الانتقال إلى المحتوى الرئيسي

Resourcing Overview

ResourceMinimumPreferred
CPU4 vCPU8+ vCPU
RAM10 GB16+ GB
Disk32 GB + ~2.5x indexed data500 GB for organizations <5000 users
Vespa (the vector database used by Gorbit) does not allow writes once disk usage hits 75%.

النشر المحلي (Docker)

يمكنك التحكم في الموارد المتاحة لـ Docker في قسم Resources من قائمة إعدادات Docker Desktop.
غالبًا ما تشغل صور Docker القديمة غير المستخدمة مساحة قرص كبيرة. لتنظيف الصور غير المستخدمة، قم بتشغيل docker system prune --all.

مزودو الخدمة السحابية (AWS، GCP، إلخ)

للنشرات الصغيرة إلى المتوسطة، نوصي بنشر Gorbit على مثيل واحد في مزود الخدمة السحابية الذي تختاره. عند تقييم مثيلك، اتبع الموارد المفضلة في الجدول أعلاه.
المزودنوع المثيل الموصى به
AWSm7g.xlarge
GCPe2-standard-4 أو e2-standard-8
AzureD4s_v3
DigitalOceanتلبي الموارد المفضلة في الجدول أعلاه
يتطلب Vespa معالجات Haswell (2013) أو أحدث.للمعالجات القديمة، استخدم صورة vespaengine/vespa-generic-intel-x86_64 في ملف Docker Compose الخاص بك. هذه الصورة العامة أبطأ.لمزيد من التفاصيل، راجع Vespa CPU Support.

تخصيص الموارد حسب الحاوية

للتوسع بكفاءة أكبر، يمكنك تخصيص موارد لكل حاوية Gorbit باستخدام Kubernetes أو AWS EKS. راجع Gorbit Helm chart values.yaml للطلبات والحدود الافتراضية.
المكونالمعالجالذاكرة
api_server12 Gi
background28 Gi
indexing_model_server24 Gi
inference_model_server24 Gi
postgres22 Gi
vespa>= 4>= 8 Gi
nginx250m (1/4)128 Mi
توصية vespa هي الحد الأدنى لنشر الإنتاج. مع 50 جيجابايت من المستندات، نوصي بما لا يقل عن 10 معالجات و 20 جيجابايت من الذاكرة.
مجتمعة، يصل هذا إلى إجمالي حجم عقدة متاح لا يقل عن ~14 معالج و ~30 جيجابايت من الذاكرة.

كيف تتغير متطلبات الموارد

المحرك الرئيسي لمتطلبات الموارد هو عدد المستندات المفهرسة. يؤثر هذا بشكل أساسي على مكون الفهرس في Gorbit (قاعدة بيانات المتجهات Vespa)، المسؤول عن تخزين المستندات المحولة إلى متجهات والتعامل مع طلبات البحث.
متطلبات موارد Vespa تتغير خطيًا مع عدد المستندات.
بناءً على تجربتنا مع النشرات واسعة النطاق، بالإضافة إلى الحدود الدنيا المذكورة سابقًا، يحتاج Vespa إلى:
  • ~3 جيجابايت من الذاكرة لكل جيجابايت إضافي من المستندات
  • ~1 معالج لكل 2 جيجابايت إضافية من المستندات
هذه تقديرات تقريبية. العوامل الأخرى التي قد تؤثر على متطلبات الموارد تشمل:
  • نموذج التضمين
  • ما إذا كان لديك تكميم وتقليل الأبعاد مفعّلًا

مثال على الموارد

لنشر مع 10 جيجابايت من المحتوى النصي، سيحتاج مكون index الخاص بك إلى:
  • المعالج: 4 + 10 * 0.5 = 9 نوى
  • الذاكرة: 4 + 10 * 3 = 34 جيجابايت
إذا كان النشر على مثيل واحد، فسيكون هذا بالإضافة إلى المتطلبات الأساسية. إجمالاً، سيصل ذلك إلى
= 13 معالج و >= 50 جيجابايت من الذاكرة.
بناءً على هذه المتطلبات، سيكون مثيل EC2 من نوع m7g.4xlarge أو c5.9xlarge مناسبًا. إذا كان النشر باستخدام Kubernetes أو AWS EKS، فسيكون تخصيص الموارد لكل مكون كالتالي:
المكونالمعالجالذاكرة
api_server12 Gi
background28 Gi
indexing_model_server24 Gi
inference_model_server24 Gi
postgres24 Gi
vespa1034 Gi
إجمالي حجم العقدة المتاح: ~20 معالج و ~60 جيجابايت من الذاكرة.

الخطوات التالية