AWS, बैंडविड्थ और सामग्री वितरण


31

मेरा प्रश्न वर्चुअल मशीनों के बारे में है और इंटरनेट से सर्वर कनेक्शन पर उनकी सामग्री वितरित कर रहा है।

मेरे पास एक Ec2 विंडोज़ उदाहरण है, और इसका नेटवर्क कनेक्शन 100mbps प्रतीत होता है

अगर मुझे उस EC2 उदाहरण से सामग्री वितरित की जानी थी, तो क्या यह मेरी संभावित अड़चन है?

S3 कैसे भिन्न होता है, मुझे लगता है कि उनका कोई वास्तविक संभावित आउटबाउंड अड़चन नहीं है s3 के साथ?

नोट: मुझे पता है कि s3 और उनका CDN स्टेटिक कंटेंट के लिए बेहतर होगा, हालाँकि मुझे अभी इस स्थिति का पता लगाने की आवश्यकता है। हमारे HTML पृष्ठों को AJAX के माध्यम से एक सर्वर साइड पेज तक पहुंचने की आवश्यकता है, और क्योंकि इस समय हमारी सामग्री और हमारे सर्वर पर लगभग उसी डोमेन पर होने के लिए कोई बमप्रूफ काम नहीं है, इसलिए यह S3 का उपयोग करके नियम बनाता है।

बैंडविड्थ की आवश्यकता: मुझे यकीन नहीं है, हमारे पास किसी भी समय 100 से अधिक उपयोगकर्ता वीडियो डाउनलोड कर सकते हैं, शायद अब और नहीं। वीडियो प्रत्येक में 5mb तक हो सकते हैं, लेकिन वे 20 तक दिखाई देंगे।


"हमें JS के माध्यम से प्रॉक्सी का उपयोग करने के लिए हमारे HTML की आवश्यकता है ..." इसका क्या मतलब है?
एरिक हैमंड

कितना बैंडविड्थ आपको चरम पर उपयोग करने की आवश्यकता है?
एरिक हैमंड

@ EricHammond मैंने कुछ और जानकारी के साथ अपने सवाल को अपडेट किया है
कीनो

यह मेरे लिए नहीं लगता है जैसे आपके पास इस बिंदु पर किसी विशिष्ट संभावित बाधाओं पर हाइपर ध्यान केंद्रित करने का कोई विशेष कारण है। स्केलेबिलिटी के लिए सामान्य सर्वोत्तम प्रथाओं का उपयोग करके अपनी सेवा का निर्माण करें और फिर उठने पर प्रदर्शन के मुद्दों की जांच और हल करें। सीडीएन के माध्यम से वीडियो परोसें।
एरिक हैमंड

1
कीनो: मैं जेएस में एक ही मूल नीति से परिचित हूं, लेकिन फिर भी यह नहीं देखता कि यह आपको एक अलग डोमेन (सीडीएन) के साथ वीडियो सामग्री परोसने से क्यों रोकेगा। यह आम बात है।
एरिक हैमंड

जवाबों:


60

मैं विंडोज उदाहरणों के लिए नहीं बोल सकता, लेकिन मैं यह मानूंगा कि उनकी आधार विशेषताएँ लिनक्स उदाहरणों के समान हैं।

बैंडविड्थ उपयोग के लिए आपका अनुमान 100 एक साथ वीडियो डाउनलोड है (यदि आप फ़ाइल डाउनलोड करने या वीडियो स्ट्रीमिंग करने का मतलब नहीं है - मुझे यकीन नहीं है - मैं बाद में मान लूंगा)। अगर हम 512kbps की स्ट्रीम रेट लेते हैं, तो आपको लगभग 51Mbit / s या 6.5MB / s की जरूरत है।

EC2 उदाहरण उनके I / O प्रदर्शन (जिसमें बैंडविड्थ शामिल है) में भिन्न हैं। I / O प्रदर्शन के 3 स्तर हैं: निम्न, मध्यम और उच्च। हालांकि, ध्यान रखें कि वह डिस्क I / O (यानी EBS वॉल्यूम से) बैंडविड्थ पर निर्भर है। आप केवल EC2 नेटवर्क के भीतर बैंडविड्थ पर विचार कर सकते हैं (क्योंकि यह पूरी तरह से इंटरनेट पर परिवर्तनशील होगा)।

'सामान्य', 'मध्यम' और 'उच्च' की मात्रा निर्धारित करने के लिए कुछ विशिष्ट संख्याएँ (विभिन्न स्रोत सैद्धांतिक मूल्यों के लिए अलग-अलग संख्याएँ उद्धृत करते हैं, इसलिए वे पूरी तरह से सटीक नहीं हो सकते हैं)।

उच्च: सैद्धांतिक: 1 जीबीपीएस = 125 एमबी / एस; यथार्थवादी ( स्रोत ): 750Mbps = 95MB / s

मध्यम: सैद्धांतिक: 250 एमबीपीएस; यथार्थवादी ( स्रोत, p57 ): 80Mbps = 10MB / s

कम: सैद्धांतिक: 100 एमबीपीएस; यथार्थवादी (मेरे अपने परीक्षणों से): 10-15Mbps = 1-2MB / s

(वास्तव में एक 'बहुत उच्च' स्तर (10Gbps सैद्धांतिक) है, लेकिन यह केवल क्लस्टर गणना उदाहरणों पर लागू होता है)।

उल्लेख का एक और बिंदु भिन्नता की डिग्री है। छोटे उदाहरणों में, प्रदर्शन में अधिक परिवर्तनशीलता होती है क्योंकि भौतिक घटक अधिक आभासी मशीनों के बीच साझा किए जाते हैं। भले ही, आप अपने प्रदर्शन में +/- 20% भिन्नता की उम्मीद कर सकते हैं (स्रोत: 1 , 2 , 3 )। आपके मामले में (शीर्ष पर मान्यताओं / गणनाओं के अनुसार), आपको 13MB / s के शिखर बैंडविड्थ की आवश्यकता हो सकती है (डबल 6.5MBps, क्योंकि डिस्क I / O भी नेटवर्क सीमित है)। यदि आप कम बैंडविड्थ सामग्री को स्थानांतरित कर रहे हैं, तो आपको 'मध्यम' I / O प्रदर्शन के साथ एक उदाहरण का उपयोग करने में सक्षम होना चाहिए ( उदाहरण के प्रकार देखें पृष्ठ)), यदि आपकी गणना में उच्च बैंडविड्थ की आवश्यकता होती है, तो आपको 'उच्च' I / O प्रदर्शन के साथ एक उदाहरण की आवश्यकता होगी। बस डेटा को स्ट्रीमिंग करना सीपीयू या मेमोरी बाउंड नहीं होना चाहिए, लेकिन 100 एक साथ कनेक्शन को बनाए रखने के लिए संभवतः कम से कम मध्यम आकार के उदाहरण की आवश्यकता होगी - और अगर बैंडविड्थ एक चिंता है, तो उपरोक्त के आधार पर, एक बड़ा उदाहरण एक सुरक्षित शर्त होगा)।

मैं आपके द्वारा लॉन्च किए गए सर्वर को बेंचमार्किंग करने की सलाह दूंगा कि वे आपकी (गणना की गई) जरूरतों को पूरा करते हैं। दो उदाहरण (एक ही प्रकार के) लॉन्च करें और iperfइंस्टेंस के निजी आईपी पते का उपयोग करके प्रत्येक पर चलाएं - यदि आप डिफ़ॉल्ट सेटिंग्स के साथ चलाते हैं तो आपको अपने सुरक्षा समूह में पोर्ट 5001 खोलने की आवश्यकता होगी)। इसके अतिरिक्त, EC2 नेटवर्क के बाहर के अधिकांश परीक्षण 80-130Mbps (बड़े उदाहरणों) के बीच परिणाम दिखाते हैं - हालाँकि ऐसी संख्या आवश्यक नहीं है।

एक CDN आपकी आवश्यकताओं के लिए बेहतर होगा, अगर आपका सेटअप इसकी अनुमति देता है। इस लेख के अनुसार बैंडविड्थ के लिए S3 की सीमा 50MB / s के आसपास है (कम से कम एक उदाहरण से) , लेकिन यह उस चीज़ से अधिक है जिसकी आपको आवश्यकता होनी चाहिए (S3 स्ट्रीमिंग का समर्थन नहीं करता है)। क्लाउडफ्रंट आपके कार्य के लिए बेहतर होगा (जैसा कि इसे CDN के रूप में डिज़ाइन किया गया है) और अनुरोध पर उपलब्ध उच्च बैंडविड्थ के साथ डिफ़ॉल्ट रूप से ( स्रोत ) 1000Mbps = 125MB / s का समर्थन करता है और साथ ही सामग्री को स्ट्रीम कर सकता है)


आपको अपने "सैद्धांतिक" एमबीपीएस मूल्य कहां मिलते हैं? मुझे इन नंबरों के लिए कोई आधिकारिक या अनौपचारिक स्रोत नहीं मिल सकता है।
डेथोडर

4
वे संख्याएँ अब तक काफी भिन्न हैं (और मैं फिलहाल उनके लिए स्रोतों को ट्रैक नहीं कर सकता)। 4 सालों में बहुत कुछ बदल गया है। यह ज्ञात है कि EC2 में क्लस्टर समूहों के भीतर 10Gbps इंटरकनेक्शन हैं। AWS (2007 में) 250Mbps समर्पित स्थानीय बैंडविड्थ का एक आंकड़ा बोली। वर्तमान में, नेटवर्क बैंडविड्थ उदाहरणों के बीच साझा किया जाता है, उदाहरण के प्रकार (और संभवतः ऐसे ईबीएस अनुकूलन) के आधार पर आवंटित प्राथमिकता के साथ। कम से कम भाग में, उदाहरण का आकार निर्धारित करता है कि आप संसाधनों के साथ कितने अन्य उदाहरण साझा करते हैं। यदि नेटवर्क अप्रयुक्त है, तो आपके उदाहरण को बड़ा हिस्सा मिलता है।
साइबरएक्स 86

क्षमा करें, यह बंद विषय है, लेकिन मुझे पता नहीं है कि @ cyberx86 से कैसे संपर्क किया जाए, लेकिन आपको यह बताने की अनुमति है कि आपकी वेबसाइट के लिए ssl प्रमाणपत्र एक सप्ताह पहले समाप्त हो गया है। यहां टिप्पणी करने के लिए क्षमा याचना, लेकिन आपके लिए एक ईमेल पता नहीं मिल सकता है।
केविन लिडा

1
@KevinLyda धन्यवाद। जबकि मुझे पता था कि प्रमाण पत्र की समय सीमा समाप्त हो गई थी, उस साइट को कुछ समय के लिए अपडेट नहीं किया गया है - इसलिए यह LetsEncrypt के साथ स्वचालित नवीनीकरण पर माइग्रेट करने का एक अच्छा अवसर था।
साइबरबरी

हाँ, यह खुद का उपयोग किया गया है। स्क्रिप्ट के लिए बहुत आसान है (विशेष रूप से गैर-आधिकारिक ग्राहकों के साथ) और पृष्ठभूमि में दूर काम करना।
केविन लिडा

0

संख्या समय के साथ बदलती दिखती है और विभिन्न प्रकारों की संख्या के समान है। लेकिन कई लोग बेंचमार्क पोस्ट करते हैं। मुझे गुगली करके कुछ नसीब हुआ है [instance category] ec2 network benchmark

उदाहरण के लिए, मैं एक m4.xlargeउदाहरण की बैंडविड्थ जानना चाहता था , इसलिए मैंने खोज की ec2 m4 network benchmark। मुझे यह परीक्षा परिणाम वाशिंगटन पोस्ट इंजीनियरिंग ब्लॉग से मिला:

Type       Cost    Bandwidth Bandwidth Cost (1Gb/s) Bandwidth Cost EBS optimized
...
m4.xlarge  $0.252  791Mb/s   $0.320                 $0.320
...
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.