AWS CloudFront * को * बार-बार एक्सेस की गई फाइलों के लिए लोड * बढ़ाना चाहिए?


9

मैं CDN के लिए नया हूं और CloudFront के साथ प्रयोग कर रहा हूं। मैंने सब कुछ सेट कर लिया है और सभी ठीक काम कर रहे हैं। मैं एक पेज पर एक स्थिर छवि बना सकता हूं और इसे एक्सेस कर सकता हूं, हालांकि मेरा CloudFront वितरण। मैं एक कस्टम मूल का उपयोग कर रहा हूँ (अर्थात s3 बाल्टी नहीं)।

मुझे चिंता है कि मैं प्रदर्शन के दृष्टिकोण से खराब हो सकता हूं। मेरे पास एक परीक्षण पृष्ठ है जो सीडीएन के साथ और उसके बिना 20 या तो छवियों को लोड कर रहा है। फायरबग में नेट पैनल को देखते हुए, पहली बार मैंने इस पृष्ठ को लोड किया है जो मूल सर्वर से सीधे लोड किए गए चित्र बहुत तेजी से आते हैं। बाद के पृष्ठ पर सीडीएन के लाभ स्पष्ट हो जाते हैं - 3-5 ताज़ा करने के बाद सीडीएन मूल सर्वर की तुलना में बेहतर कर रहा है।

इसलिए मैं देख सकता हूं कि हमारी साइट पर एक लोकप्रिय पृष्ठ पर जो हर समय हिट हो रहा है, यह एक लाभ होगा। और मुझे एक लाभ की उम्मीद करनी चाहिए क्योंकि मैं सिएटल (अमेज़ॅन से कोने के आसपास) में हूं और मेरा सर्वर सीए में है।

बात यह है कि अगर मैं पृष्ठ को कुछ मिनटों के लिए छोड़ देता हूं और फिर पुनः लोड करता हूं, तो चीजें वापस एक वर्ग में आ जाती हैं, क्योंकि CloudFront मूल सर्वर से भी बदतर है। क्या यह अपेक्षित है? क्या सीडीएन "कैश" से चीजें इतनी जल्दी खत्म हो जाती हैं?

क्या यह संभव है कि मेरे सेटअप में कुछ प्रदर्शन को नुकसान पहुंचा रहा है? या वास्तविकता यह है कि सीडीएन केवल उस सामग्री के लिए शुद्ध सकारात्मक होगा जो वर्तमान में औसतन हर कुछ सेकंड में पहुँचा जा रहा है?

(AWS फोरम से क्रॉस पोस्ट किया गया है क्योंकि मैं SO के बदलाव के समय से हमेशा के लिए खराब हो गया हूं)

अपडेट करें:

नीचे दो अच्छे उत्तर दिए गए हैं जो यह देखने लायक हैं कि क्या आपके पास CloudFront प्रदर्शन के बारे में कोई प्रश्न हैं। मुझे हाल ही में अपनी विशिष्ट समस्या के लिए एक स्पष्टीकरण मिला, हालांकि इसका उल्लेख नहीं किया गया था। मैंने एक ओवरसाइट के रूप में 5 मिनट पर टीटीएल छोड़ दिया था। चूंकि मैं एक कस्टम मूल का भी उपयोग कर रहा हूं, इसलिए वास्तविक अमेज़ॅन क्लाउडफ्रंट डोमेन को हल करने के लिए आधिकारिक नामवर के लिए एक अतिरिक्त दौर की यात्रा है। अब टीटीएल सेटिंग 12 घंटे में वापस आ गई है, ऐसा लगता है कि लंबे समय तक लोड अधिक होता है।


हां, यह संभव है कि CloudFront सीधे फास्ट सर्वर पर जाने की तुलना में धीमा है, क्योंकि CloudFront वहां सबसे धीमी CDNs में से एक है, जिस तरह से Amazon ने इसे DNS रिज़ॉल्यूशन की कई परतों के साथ लागू किया है, आदि। कुछ बेंचमार्क को विभेदक के साथ चलाएं। दुनिया भर के स्थान, और यह तय करें कि यह आपके लिए अच्छा है या नहीं - परीक्षण के लिए webpagetest.org का उपयोग करें ।
जेस्पर एम

जवाबों:


5

क्लाउडफ्रंट उत्तरों में "X-Cache: Hit from Cloudfront" जैसे उत्तरों में एक हेडर सेट करता है। यदि आपकी फ़ाइल उस नोड के कैश में नहीं थी, जिसके लिए आपको निर्देशित किया गया था, तो संभवतः, यह "मिस" कहेगा।

यह संभव है कि आपकी फ़ाइलें पर्याप्त रूप से लोकप्रिय न हों, इसलिए उन्हें CloudFront के कैश से अधिक लोकप्रिय सामग्री द्वारा निकाल दिया जाता है, भले ही 24 घंटे बीत चुके हों। यह भी संभव है कि किसी विशेष CloudFront नोड के अंदर IO अधिभार या कुछ अन्य परिस्थितियों का उपयोग धीमा कर देता है। अकामाई या लाइमलाइट की तुलना में क्लाउडफ्रंट बहुत सस्ती है। सबसे महंगे खिलाड़ियों का उपयोग करने के लिए सबसे खराब स्थिति प्रदर्शन और गारंटीकृत सेवा स्तर हैं।

मैं एक परीक्षण करूंगा, उत्पादन में क्लाउडफ्रंट में सिर्फ एक लोकप्रिय फ़ाइल डालकर, और फिर आवधिक परीक्षणों का उपयोग करके यह देखने के लिए कि क्या CloudFront हिट का संकेत दे रहा है (कुल लेनदेन का समय भी रिकॉर्ड करें)।


मैंने अपने द्वारा देखे गए पूर्ण अंक के लिए एक और संभावित स्पष्टीकरण के साथ प्रश्न को अपडेट किया है, जो यह है कि मैंने 5 मिनट की कम सेटिंग में TTL सेटिंग छोड़ दी थी, लेकिन जब 12 घंटे में वापस स्विच कर रहा हूं तो मुझे नहीं लगता कि मैं ये देख रहा हूं कभी-कभी पूर्ण मुद्दे।
ग्रेग

7

हो सकता है। हालाँकि, CDN का एक उद्देश्य मापनीयता है। यदि आप एक बार में 100 विज़िट या एक बार में 1 मिलियन विज़िट फेंकते हैं, तो आप CDN से समान प्रदर्शन की उम्मीद कर सकते हैं।

जहाँ तक आपका सेटअप जाता है, वहाँ कुछ भी नहीं है जिसे मैं आपके द्वारा दी गई जानकारी से जान सकता हूँ, लेकिन मुझे लगता है कि ऊपर दी गई बात एक सीडीएन को इतना मूल्यवान बनाती है। यदि आप एक ऐसी साइट बना रहे हैं जिसमें बहुत अधिक ट्रैफ़िक नहीं है, तो आप CDN के बिना बेहतर हो सकते हैं। हालाँकि, यदि आप बहुत अधिक ट्रैफ़िक प्राप्त करते हैं, तो CDN आपके वेब सर्वर पर एक हल्का भार प्रदान करेगा क्योंकि आप अपने मीडिया की सेवा किसी अन्य सर्वर से कर रहे हैं। एक अंतिम बिंदु, एक अच्छा CDN (और अमेज़ॅन है) आपके व्यापक नेटवर्क को अनुरोधकर्ता के निकटतम स्थान से आपकी सामग्री की सेवा देगा। कई मामलों में, वे अनुरोधकर्ता के ISP से सामग्री की सेवा कर सकते हैं, जिसका अर्थ है बहुत जल्दी लोड समय।

उम्मीद है की वो मदद करदे।


धन्यवाद जेसी - बहुत उपयोगी। स्केलिंग के संबंध में बात अच्छी तरह से ली गई है। और हमारे पास इसके लिए पर्याप्त ट्रैफिक है ताकि बड़ा बदलाव किया जा सके। मैं अभी भी कैशिंग नीति को जानना पसंद करूंगा। मुझे सीडीएन की स्थापना के लिए HOW के बारे में बहुत अधिक जानकारी मिली है और इसकी विशेषताओं के बारे में बहुत कम। मैं सोच रहा हूं, उदाहरण के लिए, क्या मुझे (सीडीएन से) पुरानी सामग्री को बाहर करना चाहिए जो बहुत बार पहुंच जाता है।
ग्रेग

ग्रेग - मुझे वित्तीय कारणों से सामग्री को छोड़कर, अन्य के लिए एक तर्क नहीं दिखता है। हालाँकि, आप अमेज़न में अपनी वस्तु के कैश हेडर को नियंत्रित कर सकते हैं। आप इस
जेसी बंच

यह आपको किसी भी सामान्य वेब साइट के मीडिया के साथ सुदूर भविष्य के समय सीमा समाप्त करने की अनुमति देगा।
जेसी बंच

एक बार फिर धन्यवाद। यह कैश-कंट्रोल लिंक मेरी स्थिति के लिए प्रासंगिक नहीं है क्योंकि मैं एक कस्टम मूल सर्वर का उपयोग कर रहा हूं, एस 3 नहीं। लेकिन प्रिंसिपल लागू होता है और मेरे पास भविष्य में समाप्त होने वाले हेडर सेट हैं। BTW, अमेज़ॅन के डॉक्स कहते हैं कि सामग्री 24 घंटे कैश में रहती है, लेकिन मेरे प्रयोग कुछ अलग संकेत देते हैं।
ग्रेग

1

क्या मुझे गलत समझा गया है? क्या कैश-कंट्रोल यह प्रबंधन नहीं करता है कि किनारे के स्थानों को S3 से पुनः लोड करने से पहले किनारे के स्थानों पर कितनी देर तक रहते हैं? तो निश्चित रूप से वे आपकी स्थिति के लिए प्रासंगिक हैं कि क्या आप S3 या अपने स्वयं के मूल का उपयोग करते हैं? नहीं?

अमेज़न पूछे जाने वाले प्रश्न का कहना है:? "प्र कब तक अमेज़न CloudFront किनारे स्थानों पर मेरी फ़ाइलें रखेंगे डिफ़ॉल्ट रूप से, अगर कोई कैश नियंत्रण हेडर सेट किया गया है, आपकी फ़ाइल के एक अद्यतन संस्करण के लिए प्रत्येक किनारे स्थान चेकों जब भी यह अधिक से अधिक एक अनुरोध प्राप्त करता है पिछली बार के 24 घंटे बाद इसने उस फ़ाइल में बदलाव के लिए मूल की जाँच की। इसे "समाप्ति अवधि" कहा जाता है। आप इस समाप्ति की अवधि को 1 घंटे, या जब तक आप चाहें, अपनी उत्पत्ति में फ़ाइलों पर कैश कंट्रोल हेडर सेट करके सेट कर सकते हैं। Amazon CloudFront इन कैश कंट्रोल हेडर का उपयोग यह निर्धारित करने के लिए करती है कि इसे कितनी बार जांचना है। उस फ़ाइल के एक अद्यतन संस्करण के लिए उत्पत्ति। यदि आपकी फ़ाइलें बहुत बार बदलती नहीं हैं, तो आपकी फ़ाइलों को अपडेट प्रबंधित करने के लिए एक लंबी समाप्ति अवधि निर्धारित करना और संस्करण प्रणाली लागू करना सबसे अच्छा अभ्यास है। "

[मेरा मानना ​​है कि अंतिम वाक्य का अर्थ है "कठिन भाग्य यदि आप इसे 50 साल तक सेट करते हैं और फिर फ़ाइल को बदलना चाहते हैं"।]

CDN का उपयोग करने का मुख्य बिंदु यह नहीं है कि यह स्थिर सामग्री को होस्ट करता है? यदि हां, तो क्या यह एक दिन की तुलना में लंबे समय तक टीटीएल का उपयोग करने में मदद करेगा? वस्तुतः सब कुछ (सभी छवियों और सीएसएस) के लिए, मैं कैश-कंट्रोल = "अधिकतम-आयु = 604800, सार्वजनिक, अवश्य-पुन: अमान्य" (अर्थात 1 सप्ताह) का उपयोग करता हूं। मेरे अनुभव में, फ़ाइलें निश्चित रूप से तब बदलती हैं जब मैं S3 पर नए संस्करण अपलोड करता हूं।

उम्मीद है की यह मदद करेगा। [बीटीडब्ल्यू: आपके अधिक सामान्य बिंदु पर, मुझे भी आश्चर्य होता है कि सीडीएन प्रदर्शन में मदद करता है जितना आपको लगता है कि यह जा रहा है। मैं अपनी पूरी साइट (CDN शामिल) को एक सुपर-फास्ट समर्पित सर्वर पर स्थानांतरित करने जा रहा हूं और यह पता लगाने के लिए कुछ परीक्षण करता हूं।]


आप सही हैं कि कैश-कंट्रोल इस बात को प्रभावित करता है कि सामग्री को किनारे पर कितनी देर तक रखा जाए। हालांकि टीटीएल एक अलग मामला है। TTL डोमेन नाम को निर्दिष्ट IP पते के कैशिंग को नियंत्रित करता है। इसलिए इस बात की परवाह किए बिना कि स्टेटिक फाइल किनारे पर कैश की गई है या नहीं, पहली बार किसी सर्वर ने फाइल का यूआरएल देखा है, जिसे इस डोमेन का आईपी एड्रेस ढूंढना है। 1-दिवसीय TTL के साथ, यह संभावना है कि पास के सर्वर के पास अपने DNS कैश में यह जानकारी हो। 5 मिनट के टीटीएल के साथ यह बहुत कम होने की संभावना है और मेरे मूल सर्वर के लिए एक पूर्ण दौर की यात्रा आवश्यक है (फ़ाइल के लिए नहीं, बल्कि URL को हल करने के लिए) ..
ग्रेग

आह ठीक है धन्यवाद। मैं DNS TTL और कैश-कंट्रोल को भ्रमित कर रहा था :)
क्रिस W

1

CDN का उपयोग करने के कारण यदि आप अपेक्षा कर रहे हैं

  • स्टेटिक सामग्री - अक्सर या नियंत्रित अपडेट
  • दुनिया भर में देखा गया
  • बार-बार पहुँचा

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

इसके अलावा, हम Godaddy सर्वर के लिए 7 $ (जो केंट हैंडल सर्ज) के विपरीत 2.2 $ के मासिक शुल्क की उम्मीद कर रहे हैं

औसत पृष्ठ लोड समय

औसत पृष्ठ लोड समय वितरण

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.