دليل عمليات QPID

يتوفر الإصدار 4.52.02 من Edge for Private Cloud مع Qpid Broker-J 8.0.6. توضّح هذه الصفحة الاعتبارات المتعلقة بالذاكرة والقرص للمكوِّن apigee-qpidd في Edge for Private Cloud (باستخدام وسيط يستند إلى Java). تنطبق الأقسام أدناه بشكل خاص على حالة استخدام Qpid في Apigee، وتشرح كيفية ضبط Qpid باستخدام آليات إعداد Apigee.

Qpid في Apigee

في Apigee، يتم استخدام Qpid في عمليتَي سير عمل رئيسيتَين:

  • الإحصاءات
  • تحقيق الربح

في كلتا وظيفتي سير العمل هاتين، ينشئ معالج الرسائل الرسائل التي يتم جمعها على دفعات ودفعها إلى Qpid. بالنسبة إلى "إحصاءات Google"، تتم قراءة الرسائل بواسطة Qpid-server، وبالنسبة إلى "تحقيق الربح"، تتم قراءتها بواسطة Rating Server (جزء من خادم الإدارة). وبعد قراءتها، لا يتم تجميع الرسائل المجمّعة ونقلها.

توضّح الأقسام التالية الإعدادات المقترَحة للذاكرة والقرص باستخدام Qpid. تستند هذه الإعدادات إلى حجم رسالة واحدة يبلغ 2 كيلوبايت لخدمة "إحصاءات Google" أو "تحقيق الربح". وعندما يكون حجم الدُفعة التلقائي 50، سيكون حجم كل رسالة في Qpid 100 كيلوبايت تقريبًا. تتيح Apigee للخوادم الوكيلة تعديل المعلومات وإضافة المزيد منها إلى الرسالة (مثل "إحصاءات Google" أو "تحقيق الربح"). وفي الحالات القصوى، قد يؤدي ذلك إلى تغيير كبير في حجم رسالة واحدة وإجمالي الرسالة المجمّعة في Qpid. علمًا أنّ الاقتراحات العامة المتعلقة بالذاكرة والقرص في الأقسام أدناه تنطبق حتى في مثل هذه الحالات، قد تحتاج إلى إجراء تعديلات إضافية على Qpid لضمان سلاسة العمليات.

الذاكرة

يستخدم Qpid Broker نوعين من الذاكرة: الذاكرة غير المختلَطة والذاكرة العشوائية. يخزِّن Qpid الرسائل في ذاكرة فارغة، ويستخدم ذاكرة التخزين المؤقت للمهام الداخلية الخاصة به، وتوجيه الرسائل إلى قوائم الانتظار وعمليات التبادل، وما إلى ذلك. وفي معظم الحالات، تنصح Apigee بالحفاظ على نسبة 3:1 بين كومة الذاكرة المؤقتة وأجزاء من الذاكرة في Qpid Broker.

وتظل الرسائل في الذاكرة غير الملموسة على القرص. بالإضافة إلى ذلك، إذا تجاوز إجمالي استخدام للذاكرة غير المجمّعة حدًّا معيّنًا، يتم ضبط Qpid على تجاوز الرسائل في القرص.

تحسب Apigee تلقائيًا ذاكرة Qpid Broker بناءً على الذاكرة المتاحة في العقدة. إنّ الحدّ الأقصى المسموح به لنصوص نصوص Apigee هو 4 غيغابايت، وذلك لكل من ذاكرة كومة الذاكرة المؤقتة والأجزاء غير المستخدَمة في Qpid Broker. إذا أردت تجاوز هذه الحدود، يمكنك استخدام الإعدادَين أدناه لضبط قيمك الخاصة لذاكرة Qpid لكمية الحركة والأجزاء غير المكتملة.

  • إعدادات الذاكرة المجمّعة: bin_run-qpidd_qpid.run.jvm.max_vm_heap=1024m
  • إعدادات تخزين الذاكرة غير المرغوب فيها: bin_run-qpidd_qpid.run.jvm.max_direct_memory_size=3072m

راجِع كيفية تغيير ضبط Qpid للحصول على معلومات عن كيفية إلغاء الإعدادات.

للحصول على مزيد من المعلومات، يُرجى الاطّلاع على مرجع Apache Qpid للذاكرة.

قرص

دليل بيانات وسيط Qpid هو $APIGEE_ROOT/data/apigee-qpidd. يتم تخزين سجلّات Qpid Broker في $APIGEE_ROOT/var/log/apigee-qpidd.

إن أداء نظام الملفات الذي يستضيف دليل البيانات هو أساس أداء الوسيط ككل. للحصول على أفضل أداء، اختَر جهازًا ذا وقت استجابة سريع لا تستخدمه التطبيقات الأخرى.

يحتفظ وسيط Qpid برسائله في دليل البيانات. بشكل تلقائي، يقبل الوسيط الرسائل إلى أن يصبح نظام الملفات الذي يستضيف دليل البيانات ممتلئًا بنسبة 80%. يمكنك تعديل هذا الحدّ عن طريق تجاوز الإعدادات الموضحة في المثال أدناه في كل عقدة Qpid.

bin_run-qpidd_qpid.store.filesystem.maxUsagePercent=60

في هذا المثال، يرفض الوسيط الرسائل الجديدة عندما يكون نظام الملفات الأساسي ممتلئًا بنسبة 60%.

كيفية تغيير إعدادات Qpid

لتغيير إعدادات Qpid:

  1. أنشئ الملف التالي أو عدِّله:
    $APIGEE_ROOT/customer/application/qpidd.properties
  2. أضِف الإعدادات أو أزِلها أو عدِّلها حسب الضرورة. على سبيل المثال، لتغيير الحدّ الأقصى لذاكرة كومة الذاكرة المؤقتة Qpid Broker إلى 6 غيغابايت، يمكنك إضافة إلغاء الإعداد التالي في الملف:
    bin_run-qpidd_qpid.run.jvm.max_vm_heap=6144M
  3. احفظ التغييرات وتأكَّد من أنّ المستخدم apigee يملك الملف وقابلاً للقراءة:
    chown apigee:apigee $APIGEE_ROOT/customer/application/qpidd.properties
  4. أعِد بدء عملية qpidd:
    إعادة تشغيل apigee-service apigee-qpidd