2009-12-11 15 views
9

मैं स्पष्ट रूप से अपने स्वयं के कुछ सीमित परीक्षण कर सकता हूं, लेकिन मुझे कम से कम मध्यम-स्तरीय वेबसाइटों पर वास्तविक दुनिया के अनुभव वाले कुछ लोगों से सुनने की उम्मीद है।स्क्रिप्ट/स्टाइलशीट्स: स्थानीय रूप से समेकित या सीडीएन का उपयोग करें?

साइटों के अनुकूलन/बैंडविड्थ के लिए हर "शीर्ष 10" सूची के आइटम में से दो हैं:

  • एक एकल फाइल में के रूप में ज्यादा जे एस और सीएसएस संभव के रूप में समेकित (दौर यात्राएं कम करने के लिए); और
  • सामग्री वितरण नेटवर्क का उपयोग करें (बैंडविड्थ/डाउनलोड अप गति को बचाने के लिए)।

आजकल आप Google या माइक्रोसॉफ्ट के सीडीएन (या दोनों) पर लगभग हर महत्वपूर्ण लिपि पा सकते हैं। आप jQuery थीमरोलर पैकेज जैसे कुछ सुंदर हेवीवेट आइटम भी पा सकते हैं। अमेज़ॅन एस 3 जैसे निजी सीडीएन खाते पर इन सीडीएन का उपयोग करने के प्रमुख फायदों में से एक यह है कि कई आगंतुकों को पहले से ही कुछ अन्य वेबसाइटों से कैश की जाने वाली स्क्रिप्ट्स मिलेंगी। भले ही वे नहीं करते हैं, Google की तरह किसी साइट के प्रदर्शन को हरा करना मुश्किल है।

तो मान लीजिए कि मैं व्यक्तिगत सीडीएन खाते के प्रदर्शन के लिए अतिरिक्त भुगतान करने के बजाय इन सार्वजनिक सीडीएन का उपयोग करना चाहता हूं जो बेहतर या बदतर हो सकता है या वही हो सकता है। और आइए यह भी कहें कि मैं जेएस/सीएसएस फाइलों का एक समूह उपयोग कर रहा हूं जो इन सार्वजनिक सीडीएन पर हैं: jQuery, jquery-ui, एक थीम, jQuery टूल्स, और शायद कुछ अन्य। उन लोगों के अलावा, मैं कई स्क्रिप्ट का उपयोग कर रहा हूं जो सार्वजनिक सीडीएन पर उपलब्ध नहीं हैं, जैसे सुपरफिश और jquery.approach और होवरइन्टेंट। वास्तव में बहुत आम सामान। ऐसा लगता है मैं दो परस्पर अनन्य विकल्प हैं:

  • ऊपर सूचीबद्ध स्क्रिप्ट के लिए सार्वजनिक CDNs का संदर्भ लें। इसका फायदा यह है कि मैं किसी और की बैंडविड्थ का उपयोग करता हूं और इनमें से कुछ स्क्रिप्ट की लोकप्रियता का लाभ उठाता हूं। नुकसान यह है कि ग्राहक को इन सभी फ़ाइलों (4 व्यक्तिगत जेएस, 1 सीएसएस, और 1 प्रत्येक सीएसएस और जेएस समेकित/मिनीकृत स्थानीय सामान के लिए 7 राउंड-ट्रिप नहीं करना चाहिए)। या ...
  • सबकुछ दो मोनोलिथिक मिनीफाइड फाइलों (जेएस के लिए एक और सीएसएस के लिए) में क्रैक करें और मेरे अपने वेब सर्वर से सब कुछ दें। लाभ यह है कि केवल दो राउंड ट्रिप हैं (कम से कम 66% बचत)। नुकसान, ज़ाहिर है, अब मुझे अब अधिक बड़ी राशि की सेवा करनी है।

यह एक कठिन विकल्प की तरह लगता है, और मुझे लगता है कि वास्तव में यह समझने का एकमात्र तरीका है कि बेहतर काम करेगा ("बेहतर" ग्राहक लोड समय और समग्र उपयोगकर्ता अनुभव का एक कार्य होने के नाते) वास्तव में इसे वहां बाहर रखना है जंगली और देखो क्या होता है।

तो क्या किसी को इससे पहले यह विकल्प बनाना पड़ा था, और यदि हां, तो आपने क्या चुना, और क्यों, और यह कितनी अच्छी तरह से निकला? या, अगर किसी ने एक अलग वातावरण में परीक्षण के कार्य से निपटने का प्रयास किया है, तो आप इसके बारे में कैसे गए थे, और परिणाम क्या थे?

पीएस यह सब एक "वेब अनुप्रयोग" प्रकार का साइट का वर्णन कर रहा है - दूसरे शब्दों में, बहुत मीडिया-भारी नहीं, लेकिन इसमें शैलियों और स्क्रिप्ट्स का एक टन हो सकता है जो वास्तव में पेज आकार के महत्वपूर्ण हिस्से के लिए खाते हैं। इसलिए मैं इसे सिर्फ बौद्धिक अभ्यास से अधिक मानता हूं।

उत्तर

4

चेक बाहर Focus.com Firebug

में हम एक संकर दृष्टिकोण लिया। हम Google को बंद कर देते हैं और हमारे बाकी सीएसएस और जेएस संयुक्त/minified हैं और एस 3 से परोसा जाता है। हमने अपनी बिल्ड प्रक्रिया के माध्यम से कॉम्बो/मिनीफिकेशन चरण को स्वचालित किया है और प्रत्येक संस्करण को अपने संसाधनों को आक्रामक रूप से कैश करने की अनुमति देने के लिए अपनी स्वयं की (क्रमांकित) निर्देशिका के तहत तैनात किया गया है।

हम अपनी साइट पर कोड अपडेट की आवृत्ति (लगभग हर दो सप्ताह) को देखते हुए 40K हिट को बचाने के लिए Google को jQuery खींचने का विकल्प चुनते हैं। ऐसा कहा जा रहा है कि, हमने लॉन्च करने से पहले हमने विभिन्न विन्यासों के परीक्षण का एक गुच्छा किया था और प्रदर्शन में महत्वपूर्ण मतभेदों का पता नहीं लगा था।

+0

ऐसा लगता है जैसे आपने इसे थोड़ा सा सोचा है; अगर आपको कुछ परीक्षणों के बारे में कुछ बताने में कोई फर्क नहीं पड़ता है तो आपने इस जवाब को स्वीकार करने में खुशी होगी। – Aaronaught

+0

यह वास्तव में बहुत आसान है। मेरे पास फायरबग का उपयोग करके और परिणामों को रिकॉर्ड करने के दौरान विकास और परीक्षण कर्मचारी साइट से विभिन्न पृष्ठों (यानी विभिन्न घर आईएसपी, और देश के एक अलग क्षेत्र में) से विभिन्न पृष्ठों को लोड करते थे। हम साइट कॉन्फ़िगरेशन बदल देंगे और वे परीक्षण फिर से चलाएंगे। यह शाम का काम था लेकिन उपयोगी साबित हुआ – DrewM

+0

हम्म, लोड परीक्षण की लाइनों के साथ कुछ और उम्मीद कर रहा था। लेकिन, आपके पास वास्तव में ऐसा कुछ है जो वास्तव में उत्पादन में है, जो आपके यहां सबसे अच्छा जवाब देता है! – Aaronaught

0

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

0

माइक्रोसॉफ्ट अपने सीडीएन here पर jQuery और संबंधित फ़ाइलों का एक गुच्छा होस्ट करता है।

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