टिप्पणियों के आधार पर अपडेट करें:
लघु संस्करण: यह ज्यादा मायने नहीं रखता है, लेकिन यह इस बात पर निर्भर कर सकता है कि वे क्या होस्ट करते हैं। वे सभी अलग-अलग चीजों की मेजबानी करते हैं: Google jQuery.Validate की मेजबानी नहीं करता है, Microsoft ने jQuery-UI की मेजबानी नहीं की, 2016 से वे करते हैं !!, Microsoft अपनी स्क्रिप्ट प्रदान करता है जो अन्यथा के माध्यम से ScriptResource.axd
और एक आसान एकीकरण (जैसे ASP के साथ ScriptManager) की सेवा प्रदान करेगा । नेट 4.0 )।
महत्वपूर्ण नोट: यदि आप इंट्रानेट एप्लिकेशन का निर्माण कर रहे हैं, तो CDN दृष्टिकोण से दूर रहें। यह कोई फर्क नहीं पड़ता है जो इसे होस्ट कर रही है, जब तक आप एक पर हैं बहुत आंतरिक रूप से अतिभारित सर्वर, कोई CDN आप और अधिक प्रदर्शन स्थानीय 100 एमबी से / 1GB ईथरनेट होगा दे देंगे। यदि आप CDN का उपयोग कड़ाई से आंतरिक अनुप्रयोग के लिए करते हैं तो आप प्रदर्शन में बाधा डाल रहे हैं । अपना कैश समाप्ति हेडर सही ढंग से सेट करें और इंट्रानेट-ओनली परिदृश्य में मौजूद CDN को अनदेखा करें।
या तो अवरुद्ध होने की संभावना लगभग शून्य के बराबर लगती है। मैंने ऐसे अनुबंधों पर काम किया है जहां यह सच नहीं है, लेकिन यह एक अपवाद प्रतीत होता है। इसके अलावा, इस उत्तर की मूल पोस्टिंग के बाद से, इसके आसपास के संदर्भ में बहुत बदलाव आया है, Microsoft CDN ने बहुत प्रगति की है।
वर्तमान में मैं जिस प्रोजेक्ट पर हूं, वह दोनों सीडीएन का उपयोग करता है जो हमारे समाधान के लिए सबसे अच्छा काम करता है। कई कारक इसमें खेलते हैं। पुराने ब्राउज़र वाले उपयोगकर्ता अभी भी HTTP विनिर्देश द्वारा अनुशंसित 2 डोमेन के साथ एक साथ अनुरोध कर रहे हैं । यह किसी के लिए भी कोई समस्या नहीं है जो शालीनता से समर्थन करने वाली नई हो (प्रत्येक वर्तमान ब्राउज़र) है, लेकिन एक अन्य कारक के आधार पर हम इस सीमा के साथ-साथ जावास्क्रिप्ट से भी कम से कम बाहर दस्तक दे रहे हैं।
Google का CDN जिसका हम उपयोग कर रहे हैं:
Microsoft का CDN जिसका हम उपयोग कर रहे हैं:
हमारा सर्वर:
- संयुक्त। Js? V = 2.2.0.6190 (मेजर.माइनर.टेरेशन.चैंजसेट)
चूँकि हमारी बिल्ड प्रक्रिया का हिस्सा सभी कस्टम जावास्क्रिप्ट को संयोजित और छोटा कर रहा है, हम ऐसा कस्टम स्क्रिप्ट मैनेजर के माध्यम से करते हैं जिसमें बिल्ड के आधार पर इन स्क्रिप्ट्स के रिलीज़ या डीबग (गैर-मिनिफ़ाइड) संस्करण शामिल हैं। चूंकि Google jQuery सत्यापन पैकेज की मेजबानी नहीं करता है, इसलिए यह डाउन-साइड हो सकता है। एमवीसी उनकी 2.0 रिलीज में इसे शामिल / उपयोग कर रहा है, इसलिए आप अपनी सभी जरूरतों के लिए माइक्रोसॉफ्ट के सीडीएन पर पूरी तरह से भरोसा कर सकते हैं, और यह सब स्क्रिप्ट मैनजर के माध्यम से स्वचालित है ।
DNS समय के लिए किया जाने वाला एकमात्र तर्क, पृष्ठ लोड गति के संदर्भ में इसकी लागत है। औसतन: केवल इसलिए कि इसका अधिक उपयोग किया जाता है (यह लगभग लंबा हो गया है) ajax.googleapis.com
DNS द्वारा जल्द ही लौटाए जाने की संभावना है ajax.microsoft.com
, बस इसलिए कि स्थानीय DNS सर्वर को इसके लिए अनुरोध प्राप्त होने की अधिक संभावना थी (यह क्षेत्र दंड में पहला उपयोगकर्ता है) । यह एक बहुत ही मामूली बात है और केवल इस पर विचार किया जाना चाहिए कि प्रदर्शन अत्यंत महत्वपूर्ण है, मिलीसेकंड से नीचे।
(हां: मुझे एहसास है कि यह बिंदु मेरे दोनों CDN का उपयोग करने के विपरीत है, लेकिन हमारे मामले में DNS समय अभी तक जावास्क्रिप्ट पर होने वाले प्रतीक्षा / अवरुद्ध समय से बहुत अधिक है)
अंत में, यदि आपने इसे नहीं देखा है, तो फायरबग , और इसके लिए कुछ प्लग-इन में से एक सबसे अच्छा उपकरण है : पेज स्पीड और वाईस्लो । यदि आप CDN का उपयोग करते हैं, लेकिन आपके पृष्ठ कैश-हेडर नहीं होने के कारण हर बार छवियों का अनुरोध कर रहे हैं, तो आपको कम लटका हुआ फल याद आ रहा है। फायरबग का नेट पैनल आपको अपने पेज लोड-टाइम का त्वरित ब्रेकडाउन दे सकता है, और पेज स्पीड / वाईस्लो मदद के लिए कुछ अच्छे सुझाव दे सकता है।