2011-10-30 11 views
5

मुझे निम्नलिखित प्रश्न पूछा गया है और मुझे लगता है कि मैं इसके लिए बेहतर जवाब दे सकता था इसलिए मैं इसे अधिक संसाधन, ब्लॉग किताबें या अन्य खोजने की उम्मीद में यहां रिले कर रहा हूं। स्केलेबल एमवीसी 3 सी # कोड लिखने पर पॉइंटर्स। यदि आपके पास एकाधिक सर्वरों पर होस्ट किए गए बेहतर प्रदर्शन कोड लिखने पर कोई संकेतक है, तो मैं इसकी सराहना करता हूं। तर्क के लिए कहें कि यह कोड के लिए होगा जो एक दिन में 10-20K हिट के ऊपर की अपेक्षा करता है।उच्च यातायात एएसपी.नेट एमवीसी कोडिंग विचार

प्रश्न: कई सर्वरों पर वितरित स्केलेबल कोड लिखने के लिए आप किस कोडिंग विचारों को ध्यान में रखते हैं?

मेरा आंत मुझे बताता है कि जवाब सत्र संभालने में है। पिछले कुछ सालों में मेरी पृष्ठभूमि लेखन सेवाओं में रही है और अनुप्रयोगों को वेब अनुप्रयोगों के लिए उतना ही नहीं है, इसलिए मैं ऐसी जानकारी की तलाश कर रहा हूं जो विशेष रूप से सी # एमवीसी 3 के लिए वेब एप्लिकेशन विशिष्ट विकास के साथ मेरी मदद कर सके। आपके द्वारा सुझाए गए किसी भी ब्लॉग या किताबें मैं निश्चित रूप से देखूंगा!

+2

व्यक्तिगत रूप से, मैं हमेशा सत्र का उपयोग करने से बचता हूं और कई सर्वरों पर ऐप चलाते समय यह एक कम सिरदर्द होता है। यदि आप अपने ऐप में सत्र का उपयोग नहीं कर रहे हैं तो आप इसे एक छोटे से perf बढ़ावा के लिए web.config में भी बंद कर सकते हैं! –

उत्तर

2

स्केलेबल वेब अनुप्रयोगों को लागू करने के नियमों में से एक उनके लिए स्टेटलेस होना है। सत्र पहली बात है जिसे समीकरण से बाहर फेंक दिया जाना चाहिए क्योंकि यह वही है जो एक आवेदन को राज्य में बना देता है। यदि आपके पास पूरी तरह से स्टेटलेस एप्लिकेशन है तो ट्रैफिक बढ़ने पर आप हार्डवेयर फेंक सकते हैं और एप्लिकेशन इसे संभालने में सक्षम होगा। तो अपने web.config में निम्न पंक्ति रखकर शुरू:

<system.web> 
    <sessionState mode="Off" /> 
    ... 
</system.web> 

समस्या अब डेटा स्तरीय पर झूठ होगा के रूप में इस जगह है जहाँ राज्य चला जाता है। इसलिए प्रदर्शन को बेहतर बनाने और इस नोड को अनुरोधों की संख्या सीमित करने के लिए कैशिंग का उपयोग करना होगा। जितना डेटा कर सकते हैं उतना डेटा कैश करें। वेब सर्वर की तुलना में अलग-अलग मशीनों पर पसंदीदा रूप से इस कैश को स्टोर करें। कैशिंग करने के लिए समर्पित मशीनें।

+0

@xanatos - एमवीसी व्यूस्टेट –

+0

का उपयोग नहीं करता है यह प्रतिक्रिया देने के लिए बहुत अच्छा इनपुट धन्यवाद है। क्या आप किसी भी पढ़ने की सामग्री का सुझाव दे सकते हैं जो इन कैशिंग तकनीकों में से कुछ को प्रदर्शित करने में मदद करेगा? अधिमानतः सी # एमवीसी यदि संभव हो तो झुकाव लेकिन मैं कुछ तैयार कर दूंगा! :) एक बार फिर धन्यवाद। – likestoski

+0

@likestoski, यहां आउटपुट कैशिंग के लिए एक परिचय है: http://www.asp.net/mvc/tutorials/improving-performance-with-output-caching-cs आंशिक पृष्ठ आउटपुट कैशिंग के लिए यह भी है: http: // davidhayden .com/blog/dave/archive/2011/01/25/PartialPageOutputCachingASPNETMVC3.aspx और डेटा कैशिंग के लिए यहां पोस्ट की एक अच्छी श्रृंखला है: http://stevescodingblog.co.uk/tag/memorycache/ –

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