2010-06-11 10 views
6

की स्केलेबिलिटी मैं उत्सुक हूं कि दूसरों ने बूस्ट को कैसे धक्का दिया है। स्केलेबिलिटी के मामले में एशिया। मैं एक ऐसा एप्लीकेशन लिख रहा हूं जो 1000 सॉकेट ऑब्जेक्ट्स, स्वीकार्य ऑब्जेक्ट्स के मुट्ठी भर और कई हज़ार टाइमर ऑब्जेक्ट्स का उपयोग कर सके। मैंने इसे कॉन्फ़िगर किया है कि एक थ्रेड पूल io_service::run का आविष्कार कर रहा है और उचित स्थानों पर strand एस का उपयोग करें ताकि यह सुनिश्चित किया जा सके कि मेरे हैंडलर एक दूसरे पर चिपक न जाएं।Boost.Asio

मेरा प्लेटफार्म बूस्ट 1.3 9 के साथ Red Hat Enterprise Linux है, हालांकि मैं बूस्ट के हाल के संस्करण में अपग्रेड करने का विरोध नहीं कर रहा हूं।

उत्तर

9

हम टाइमर, नेटवर्क (टीसीपी और यूडीपी दोनों), सीरियल (20+ लाइनें, जिनमें से दो 500 केबीपीएस पर चलते हैं) के लिए कई लिनक्स स्वादों पर 1.3 9 का उपयोग कर रहे हैं, और घटनाओं को निष्क्रिय करते हैं, और हमारे पास कई नहीं हैं सॉकेट कनेक्शन, हमारे पास किसी भी समय कुछ सौ एसिंक टाइमर हैं। वे उत्पादन में हैं और वे हमारे लिए अच्छी तरह से काम करते हैं। अगर मैं आप थे, तो मैं एक त्वरित प्रोटोटाइप और प्रदर्शन-परीक्षण करूँगा।

बूस्ट 1.43 एएसआईओ में कई लिनक्स-विशिष्ट प्रदर्शन सुधारों का दावा करता है, लेकिन मुझे अभी तक हमारे उत्पाद के लिए बेंचमार्क नहीं करना है।

+0

अच्छा सुझाव, मैं बूस्ट 1.3 9 से 1.43 की तुलना में कुछ माप करूंगा। –

6

मैंने क्लाइंट/सर्वर के साथ बूस्ट एएसओ का उपयोग किया है जहां सर्वर के पूरे दिन कई सैकड़ों समवर्ती कनेक्शन हैं। प्रत्येक सत्र में कई घंटे के लिए बहुत सारे पढ़ने/लिखने के संचालन होते हैं। मैं बूस्ट एएसओ के नवीनतम संस्करण का उपयोग करने की सलाह दूंगा। मुझे संस्करण 1.3 9 याद नहीं है लेकिन मुझे पुराने संस्करणों के साथ समस्याएं हैं। बूस्ट एएसओ का वर्तमान संस्करण स्थिर लगता है।

मैं जिस सॉफ्टवेयर के बारे में बात कर रहा हूं वह केवल विंडोज़ पर चलता है, मुझे इसका भी उल्लेख करना चाहिए, हालांकि आपकी स्थिति से अलग है।

+0

क्या आप एकाधिक धागे का उपयोग करते हैं? या सिर्फ एक बड़ा धागा और असुरक्षित शक्तियों? – matiu

संबंधित मुद्दे