ما هي الخطوات التي يمكن اتخاذها لتحسين Tibco JMS لتكون أكثر أداء؟

StackOverflow https://stackoverflow.com/questions/5006886

سؤال

نحن ندير نظام الإنتاجية العالية يستخدم JMS Tibco-EMS لتمرير أعداد كبيرة من الرسائل من وإلى خادمنا الرئيسي إلى اتصالات عملائنا.لقد قمنا ببعض الإحصاءات وقررت أن JMS هي التسبب في الكثير من الكمون.كيف يمكننا أن نجعل Tibco JMS أكثر أداء؟هل هناك أي موارد تعطي مناقشة جيدة حول هذا الموضوع.

هل كانت مفيدة؟

المحلول

باستخدام الرسائل غير المستمرة هو خيار واحد إذا كنت لا تحتاج إلى الثبات. لاحظ أنه حتى إذا كنت بحاجة إلى استمرار، فمن الأفضل أن تستخدم الرسائل غير المستمرة، وفي حالة تعطل أداء إجراءات استرداد مختلفة (مثل إعادة إرسال جميع الرسائل)

هذا مناسب إذا:

  • تعطل نادرة (كما يستغرق الاسترداد الوقت)
  • يمكنك بسهولة اكتشاف تعطل
  • يمكنك التعامل مع الرسائل المكررة (قد لا تعرف بالضبط تم تسليم الرسائل قبل الحادث يوفر

    EMS أيضا بعض الآليات المستمرة، ولكن أقل دفتر رصاصة ثم التسليم الكلاسيكي مضمون وتشمل هذه:

    • بدلا من "تسليم الرسائل" مرة واحدة بالضبط "يمكنك استخدام" تسليم مرة واحدة على الأقل "أو" حتى مرة واحدة ".
    • يمكنك استخدام آلية جلب مسبقا مما يؤدي إلى جلب العميل رسائل إلى الذاكرة قبل طلب طلبك.

نصائح أخرى

ems يجب ألا يكون الرقبة الزجاجة. لقد قمت بالاختبار وقد حصلنا على إقليم من الإنتاجية على خادمنا.

تحتاج إلى محاولة تحديد مكان رقبة الزجاجة. هي المشكلة في منتج الرسالة أو المستهلك. هي رسائل تتراكم على قائمة الانتظار.

ما نوع السيناريو الذي تقوم به.

pub / sup أو طلب الرد؟ هل لديك كومة انتظار مؤقت. الكثير من قوائم الانتظار المؤقتة يمكن أن يسبب مشاكل الأداء. (في الغالب عندما يظلون لأنك لم تغلق شيئا صحيحا)

هل تنشر موضوعا مع مشتركين دائم إذا كان الأمر كذلك. حاول سد الموضوع في قائمة الانتظار والقراءة من تلك. يمكن للمشتركين المعينين أن يسبب بعض الفواق قليلا في الأداء أيضا لأنه يحتاج إلى تتبع من لديه نسخ من جميع الرسائل.

تأكد من أن عملية الإرسال الخاصة بك لديها جلسة واحدة ومكالمات متعددة من خلال تلك الجلسة. لا تفتح جلسة كاملة لكل عملية. إعادة الاستخدام حيثما أمكن. تفعل الشيء نفسه بالنسبة للمستهلك.

تأكد من إغلاق عند الانتهاء. EMS لا يمسح الأشياء. لذلك إذا قمت بإجراء اتصال وإغلاق التطبيق الخاص بك، فإن الاتصال لا يزال هناك وامتصاص الموارد.

مراجعة التسامح الخاص بك عن الرسائل المفقودة في حادث تحطم. إذا كنت تقوم بعمل عميل ACK ولا يهم إذا تعطلت معالجة الرسالة ثم قم بالتبديل إلى تلقائي. وأعتقد أيضا إذا كنت تستخدم (Tems - Tibco EMS ل WCF) هناك مشكلة في الاعتراف بالجلسة. لذلك رسالة فقط عند معالجتها في الرسالة بأكملها، تحولنا من العميل ACK إلى الشخص الذي كان لديه Dups OK وكنت يعمل بشكل أفضل)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top