हम हॉर्नेटक स्टोर और आगे तंत्र का उपयोग करने की कोशिश कर रहे हैं ... हालांकि कोर स्टैंड का उपयोग करके एक स्टैंडअलोन हॉर्नेटक्यू उदाहरण से दूसरे को संदेशों को अग्रेषित करना बहुत धीमा है। हम प्रति सेकंड 200 संदेशों से ऊपर थ्रूपुट दर बढ़ाने में सक्षम नहीं हैं।हॉर्नेटक कोर ब्रिज का उपयोग करके बहुत कम थ्रूपुट
आश्चर्यजनक तथ्य यह है कि यदि हम एक ही ग्राहक को इंगित करते हैं (जो कि हॉर्नेटक्यू उदाहरण के लिए सीधे संदेश को प्रकाशित कर रहा था) सीधे हॉर्नैटक्यू के गंतव्य पर, हम प्रति सेकंड 1000 से अधिक संदेशों की एक थ्रूपुट दर देखना शुरू करते हैं (यह क्लाइंट जेएमएस है आधार पर)। इसका मूल रूप से मतलब है कि फॉरवर्डिंग हॉर्नेटक्यू उदाहरण और गंतव्य हॉर्नैटक्यू उदाहरण के बीच कॉन्फ़िगर किया गया मूल पुल समस्याग्रस्त है।
<acceptors>
<acceptor name="netty">
<factory-class>org.hornetq.core.remoting.impl.netty.NettyAcceptorFactory</factory-class>
<param key="host" value="${hornetq.remoting.netty.host:192.168.2.xxx}"/>
<param key="port" value="${hornetq.remoting.netty.port:xxxx}"/>
<param key="tcp-send-buffer-size" value="1048576"/>
<param key="tcp-receive-buffer-size" value="1048576"/>
<param key="use-nio" value="true"/>
<param key="batch-delay" value="50"/>
<param key="use-nio" value="true"/>
</acceptor>
<acceptors>
<address-settings>
<address-setting match="jms.queue.Record">
<dead-letter-address>jms.queue.RecordDLQ</dead-letter-address>
<max-size-bytes>262144000</max-size-bytes>
<page-size-bytes>10485760</page-size-bytes>
<address-full-policy>PAGE</address-full-policy>
</address-setting>
</address-settings>
<queues>
<queue name="jms.queue.Record">
<address>jms.queue.Record</address>
</queue>
</queues>
:
<connectors>
<connector name="netty-bridge">
<factory-class>org.hornetq.core.remoting.impl.netty.NettyConnectorFactory</factory-class>
<param key="host" value="destination.xxx.com"/>
<param key="port" value="5445"/>
<param key="batch-delay" value="50"/>
<param key="tcp-send-buffer-size" value="1048576"/>
<param key="tcp-receive-buffer-size" value="1048576"/>
<param key="use-nio" value="true"/>
</connector>
</connectors>
<address-settings>
<address-setting match="jms.queue.Record">
<dead-letter-address>jms.queue.RecordDLQ</dead-letter-address>
<max-size-bytes>262144000</max-size-bytes>
<page-size-bytes>10485760</page-size-bytes>
<address-full-policy>PAGE</address-full-policy>
</address-setting>
</address-settings>
<queues>
<queue name="jms.queue.Record">
<address>jms.queue.Record</address>
</queue>
</queues>
<bridges>
<bridge name="core-bridge">
<queue-name>jms.queue.Record</queue-name>
<forwarding-address>jms.queue.Record</forwarding-address>
<retry-interval>1000</retry-interval>
<retry-interval-multiplier>1.0</retry-interval-multiplier>
<reconnect-attempts>-1</reconnect-attempts>
<confirmation-window-size>10485760</confirmation-window-size>
<static-connectors>
<connector-ref>netty-bridge</connector-ref>
</static-connectors>
</bridge>
</bridges>
निम्न गंतव्य HornetQ पर कोर पुल विन्यस्त करने के लिए प्रासंगिक अनुभाग हैं:
निम्नलिखित अग्रेषण HornetQ पर कोर पुल विन्यस्त करने के लिए प्रासंगिक वर्गों रहे हैं सभी सिस्टम वैरिएबल (सीपीयू/मेमोरी/डिस्क आईओ/नेटवर्क/आदि) को कम किया जाता है और लॉग में कोई त्रुटि नहीं होती है।
नोट: हमने एनआईओ के साथ-साथ विरासत/पुराने आईओ दोनों के साथ प्रयास किया है। यह HornetQ-2.2.5-फाइनल और दोनों के साथ करने की कोशिश की गई है HornetQ-2.2.8-जीए (2.2.8-जीए स्रोत से बनाया गया था)
के रूप में किसी भी विचार क्या इस मुद्दे और क्या संकल्प कारण हो सकता है हो सकता है?
अन्य अवलोकन: ऐसा लगता है कि मुख्य पुल के माध्यम से भेजे जा रहे संदेश लेनदेन हैं ... इसलिए क्या इन लेन-देन को पकड़ना संभव है और दो हॉर्नेटक उदाहरणों के बीच संचार असीमित रूप से होता है?
यह एक बग तय किया गया था –