मैं विचारों को देखता हूं कि कैसे RabbitMQ के माध्यम से संदेश स्थानान्तरण को गति देना है।RabbitMQ स्थानांतरण दर तेज है?
मैंने विंडोज 64 बिट पर नवीनतम संस्करण स्थापित किया है, जो मेरी स्थानीय मशीन पर एक सर्वर चला रहा है जिस पर मैं सी # कार्यान्वयन के माध्यम से/से भी प्रकाशित/उपभोग करता हूं। मैंने शुरुआत में प्रति सेकंड 40,000 संदेशों को अधिकतम किया जो प्रभावशाली है लेकिन मेरी ज़रूरतों के अनुरूप नहीं है (मैं एक कस्टम बाइनरी रीडर के साथ प्रतिस्पर्धा करता हूं जो प्रति सेकंड 24 मिलियन अनपेक्षित 16 बाइट बड़े बाइट एरे को संभाल सकता है; जाहिर है कि मैं इसके करीब आने की अपेक्षा नहीं करता लेकिन मैं कम से कम सुधार करने का प्रयास करता हूं)। मुझे जितनी जल्दी हो सके 115,000,000 संदेश भेजने की जरूरत है। मैं डेटा को जारी रखना नहीं चाहता हूं और कनेक्शन एक ही उपभोक्ता के लिए सीधे होगा। मैंने फिर अपने 16 बी बाइट एरे के टुकड़े बनाए और बिना किसी सुधार के बस पर प्रकाशित किया। स्थानांतरण दर 45 एमबी/सेकेंड पर अधिकतम हो गई। मुझे यह तथ्य बहुत धीमा लगता है कि अंत में इसे केवल कच्ची संचरण की गति में उबालना चाहिए क्योंकि मैं बाइट एरे कई मेगाबाइट्स के आकार को बना सकता हूं, जहां एक्सचेंज द्वारा रूटिंग की दक्षता दर नगण्य बनाम कच्ची संचरण गति बन जाती है। मेरी संदेश बस 45 एमबी/दूसरी स्थानांतरण गति पर अधिकतम क्यों है?
यदि केवल 1 उपभोक्ता है, तो टीसीपी पर सीधे क्यों न भेजें? आपको वास्तव में एक संदेश बस की आवश्यकता नहीं है। –
इन परीक्षणों के दौरान आपका आईओ (नेटवर्क, डिस्क) और सीपीयू कैसा दिखता है? – Xailor
शायद आपको rabbitmq के बजाय zeromq देखना चाहिए। आपका काम 0mq के लिए उपयुक्त प्रतीत होता है। कम से कम वे उस संदेश आकार (16 बाइट्स) पर प्रति सेकेंड 3_000_000 संदेश का दावा करते हैं। http://www.zeromq.org/resultstemq-tests-v03 –