2010-09-01 14 views
7

हमारे पास एक वेब सेवा है जो काफी अधिक मात्रा में यातायात करती है जो आपको प्राप्त करने वाले ई-मेल के आधार पर आपके पसंदीदा संपर्कों को जानने में सहायता करती है।उच्च मात्रा वाली वेब सेवा की सेवा के लिए लिनक्स पर .NET/Mono का उपयोग करना, एक अच्छा विचार है?

यह सेवा शुरू में सी # /.NET में लागू की गई थी ताकि हम पहले से ही विंडोज होस्ट पर चल रहे कुछ कोड का लाभ उठा सकें। यह सेवा ASP.NET का उपयोग नहीं करती है लेकिन यह .NET से मूल HTTP श्रोता का उपयोग कर एक सरल सी # सेवा है।

सेवा ठीक प्रदर्शन कर रही है, लेकिन थोड़ी देर में मोनो पूरी तरह अवरुद्ध हो जाएगा और किसी भी अनुरोध का जवाब देना बंद कर देगा। प्रदर्शन ठीक है, लेकिन बहुत अच्छा नहीं है और यह सीम है कि हम मोनो सीएलआर और विंडोज सीएलआर के बीच अंतर को समझने में काफी समय बिताते हैं। मुझे स्वीकार करना होगा, मैं जावा पृष्ठभूमि से आ रहा हूं और ऐसा लगता है कि सर्वर की तरफ पारिस्थितिक तंत्र जावा पक्ष पर लिनक्स पर मोनो पारिस्थितिक तंत्र की तुलना में बड़ा है।

तो अब के लिए, मैं एक उच्च यातायात वेब सेवा सर्वर पर लिनक्स पर मोनो का उपयोग करके उदाहरणों और व्यक्तिगत अनुभवों की तलाश में हूं।

+1

आप "उच्च मात्रा" को परिभाषित करना चाहते हैं। क्या आप प्रति दिन सैकड़ों अनुरोध कर रहे हैं? हजारों? लाखों? प्रति दिन प्रति क्लस्टर – jpobst

+0

4 से 5 मिलियन अनुरोध। हमारे उपयोगकर्ता आबादी को अलग-अलग क्लस्टर में विभाजित करने के लिए हमारे पास पहले से ही एक sharding तंत्र है। लेकिन लक्ष्य प्रति क्लस्टर प्रति दिन 4 से 5 मिलियन अनुरोधों को संभालना है। –

उत्तर

3

पता नहीं है कि यह आपकी समस्याओं का समाधान करने में मदद करेगा, लेकिन आप mono 2.8 पर अपनी वेब सेवा चलाने की कोशिश कर सकते हैं जो new garbage collector के साथ आता है।

+0

अच्छा सुझाव, हम अब 2.6.4 का उपयोग कर रहे हैं। सामान्य रूप से 2.8 की स्थिति क्या है। यहां उल्लेख नहीं किया गया है: http://www.mono-project.com/DistroPackages/Ubuntu। –

+0

यदि आप अत्याधुनिक मोनो संस्करण चाहते हैं, तो मेरा सुझाव है कि आप या तो नोवेल (http://www.go-mono.com/mono-downloads/download.html) से सीधे उपलब्ध पैकेजों के साथ ओएस का उपयोग करें या स्रोत से बनाएं (http://www.mono-project.com/Parallel_Mono_Environments)। –

+0

संस्करण 2.8 बहुत जल्द जारी किया जाना चाहिए (दिनों या हफ्तों की बात)। मेरे पास गिट स्रोत (मोनो 30 अगस्त को डाउनलोड) से मोनो बिल्ड है और मोनो रनटाइम संस्करण 2.8.1 है। यदि आप उबंटू का उपयोग कर रहे हैं तो आपके लिए सबसे अच्छा विकल्प शायद समानांतर मोनो वातावरण है या इसे दैनिक टैरबॉल पैकेज से बना रहा है। – yojimbo87

0

उच्च मात्रा प्रदर्शन ट्यूनिंग के लिए, आप अक्सर निम्नलिखित टुकड़े पूरी तरह

  • ऑपरेटिंग सिस्टम सेटिंग्स (टीसीपी/आईपी विशिष्ट)
  • वेब सर्वर स्तरीय सेटिंग
  • ढांचा स्तर सेटिंग्स पर विचार करना (मोनो विशिष्ट की जरूरत है)

जैसा कि नवीनतम मोनो बिल्ड का उपयोग करके वर्णित @ yojimbo87 की तरह, फ्रेमवर्क स्तर से प्रदर्शन को फटने में मदद कर सकता है। लेकिन आपको यह देखने के लिए ओएस और वेब सर्वर के बारे में भी सीखना होगा कि क्या अन्य ट्यूनिंग दृष्टिकोण हैं या नहीं।

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