سؤال

نحاول استخدام المتجر HornetQ وآلية الأمام ... ومع ذلك إعادة توجيه الرسائل من مثيل HornetQ المستقل إلى آخر باستخدام الجسر الأساسي بطيء للغاية. لم نتمكن من زيادة معدل الإنتاجية فوق 200 رسالة في الثانية.

الحقيقة المثيرة للدهشة هي أنه إذا نشير إلى نفس العميل (الذي نشر رسائل إلى إنشاء مثيل HornetQ) مباشرة في مثيل HornetQ الوجهة، فإننا نبدأ في ملاحظة معدل الإنتاجية لأكثر من 1000 رسالة في الثانية (هذا العميل يستند إلى JMS ). هذا يعني أساسا أن الجسر الأساسي الذي تم تكوينه بين مثيل HornetQ وإعادة توجيه مثيل HornetQ الوجهة مشكلة.

فيما يلي الأقسام ذات الصلة لتكوين الجسر الأساسي على Greating HornetQ:

giveacodicetagpre.

فيما يلي الأقسام ذات الصلة لتكوين الجسر الأساسي على الوجهة HornetQ:

giveacodicetagpre.

جميع متغيرات النظام (وحدة المعالجة المركزية / الذاكرة / القرص IO / Network / Network / ETC.) غير مستغلة ولا توجد أخطاء في السجلات.

ملاحظة : لقد حاولنا مع كل من NIO وكذلك الإرث / القديم IO. وقد تم تجربته على حد سواء مع HornetQ-2.2.5-Final و HornetQ-2.2.8-GA (2.2.8-GA تم بناؤه من المصدر)

أي فكرة حول ما قد يسبب هذه المشكلة وما قد يكون الدقة؟

ملاحظات أخرى : يبدو أن الرسائل يتم إرسالها من خلال الجسر الأساسي هي المعاملات ... فهل من الممكن دفع هذه المعاملات ولديك الاتصال بين مثيلات hornetQ تحدث بشكل غير متزامن؟

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

المحلول

حسنا .. احسبت هذا بنفسي.

عندما يقوم Resigning HornetQ بإنشاء جسر، فإنه يستخدم داخليا مؤشر ترابط واحد فقط لإرسال الرسائل عبر الجسر ويفتح اتصال واحد فقط بالقرن HornetQ. على هذا النحو، فلا تتمكن من الاستفادة من معالجات متعددة وهي محدودة أيضا من قبل الشبكة (الكمون / النطاق الترددي / RTT) وغير قادر على موازاة إرسال الرسائل بشكل فعال. على هذا النحو، إذا كان لديك إنتاجية عالية، فستبدأ في ضرب غطاء (في حالتنا حوالي 200 رسالة في الثانية). يمكنك زيادة هذا عن طريق التغيير الهليلي موصل HornetQ ومعلمات متقبل (مثل TCP إرسال واستقبال أحجام المخزن المؤقت) وإعدادات الجسر (حجم نافذة التأكيد) ولكن هذا يمكن أن يأخذك فقط لفترة طويلة (حصلنا على الإنتاجية حتى حوالي 300 رسالة في الثانية ).

الحل - إنشاء جسور متعددة بين نفس الزوج من مثيلات HornetQ وجهة الوجهة (تنطوي على نفس قوائم الانتظار). وهذا يتية بفعالية نقل الرسائل وبالتالي يزيد من الإنتاجية. إنشاء ثلاث جسور ثلاث مرات تقريبا ثلاث مرات إلى 870 رسالة في الثانية.

يحتاج

jboss إلى مثالية مما يجعل هذه التوازية القابلة للتكوين في الجسر الأساسي.

نصائح أخرى

أعتقد أنك كنت تستخدم 2.2.5 (الأمر غير واضح من منشورك ما هو الإصدار الذي كنت تستخدمه) الذي كان لديه خطأ على الجسور التي تسبب المشكلة التي كنت تقولها.

في بعض الإصدار، كان الجسر إرسال رسائل متزامنة بدلا من العد على تأكيدات ASYNC.

إلقاء نظرة على كيفية التصرف على أحدث إصدار.

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