2014-09-07 9 views
19

मैं समझने के लिए उत्सुक हूं कि क्लाउडवॉच द्वारा प्रदान की गई ईएलबी लेटेंसी स्टेटिक का क्या अर्थ है।एडब्ल्यूएस ईएलबी लेटेंसी को समझना

डॉक्स के अनुसार:

  • ईएलबी प्रतीक्षा अवधि: "उपाय समय अनुरोध के बाद सेकंड में गुजरे जब तक प्रतिक्रिया मिली है लोड संतुलन छोड़ देता है।"

http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/US_MonitoringLoadBalancerWithCW.html

क्या मैं स्पष्ट नहीं कर रहा हूँ 100% प्रतिक्रिया ईएलबी को बफ़र हो जाता है या नहीं, इससे पहले कि यह ग्राहक के लिए स्थानांतरित हो जाता है है?

  • ईएलबी प्रतीक्षा अवधि::

    डॉक्स में बयान का क्या मतलब है "। के उपाय समय अनुरोध के बाद सेकंड में गुजरे जब तक प्रतिक्रिया [ग्राहक द्वारा] प्राप्त होता है भार संतुलन छोड़ देता है"

या:

  • ईएलबी प्रतीक्षा अवधि: "उपाय समय अनुरोध के बाद सेकंड में व्यतीत लोड संतुलन छोड़ देता है जब तक प्रतिक्रिया [ईएलबी द्वारा] प्राप्त होता है।"

मैं ropey 3 जी कनेक्शन वाले उपयोगकर्ताओं की एक महत्वपूर्ण संख्या होने से समझने के लिए किया जाए या नहीं एक गरीब अधिकतम विलंबता CloudWatch मीट्रिक समझाया जा सकता है चाहते हैं, या, अगर यह इसके बजाय अनुप्रयोग सर्वर कभी कभी धीमा जवाब के साथ एक अंतर्निहित समस्या को इंगित करता है ।

उत्तर

17

एडब्ल्यूएस समर्थन के अनुसार:

ईएलबी (जब HTTP श्रोताओं के साथ विन्यस्त) एक प्रॉक्सी के रूप में कार्य (अनुरोध हेडर में आता है और मान्य हो जाता है, और फिर बैकएंड के लिए भेजा) विलंबता मीट्रिक के रूप में टिक टिक शुरू कर देंगे के रूप में जैसे ही हेडर को बैकएंड पर भेजा जाता है जब तक बैकएंड पहली बाइट प्रतिक्रिया भेजता है।

POSTs (या कोई अतिरिक्त विधियां जब ग्राहक अतिरिक्त डेटा भेज रहा हो) के मामले में विलंबता तब भी टिकेगी जब ग्राहक डेटा अपलोड कर रहा हो (जैसे बैकएंड को प्रतिक्रिया भेजने के लिए पूर्ण अनुरोध की आवश्यकता होती है) और बंद हो जाएगा एक बार बैकएंड पहली बाइट प्रतिक्रिया भेजता है। इसलिए यदि आपके पास धीमी क्लाइंट डेटा भेज रहा है, तो विलंबता उस समय अपलोड समय को ध्यान में रखेगी जब बैकएंड ने जवाब देने का समय लिया था।

+0

इस उत्तर के लिए धन्यवाद धन्यवाद। क्या आपके पास विचार है कि किसी को अपने बैक एंड के विलंबता प्रदर्शन को कैसे मापना चाहिए यदि मुझे केवल पूरे पोस्ट बॉडी प्राप्त होने की परवाह है, यानी क्लाइंट थ्रूपुट की परवाह नहीं है? –

5

ऐसा लगता है कि ईएलबी के परिप्रेक्ष्य से इसकी प्रतिक्रिया उत्पन्न करने के लिए सर्वर कितना समय ले रहा है, इस बात के बावजूद कि ईएलबी के लिए ग्राहक को प्रतिक्रिया वापस करने के लिए कितनी देर की आवश्यकता हो सकती है।

मैं अपने निष्कर्षों में से किसी एक में अपने स्वयं के लॉग की समीक्षा करके इस निष्कर्ष पर आया, जो ईएलबी का उपयोग अन्य लोड बैलेंसर, हैप्रोक्सी के सामने करता है, जो बदले में वास्तविक एप्लिकेशन सर्वर के सामने है। (यह निरर्थक लग सकता है, लेकिन यह केवल ईएलबी या केवल HAProxy का उपयोग करने पर हमें कई फायदे देता है।)

यहाँ सेटअप मैं की बात कर रहा हूँ: प्रत्येक अनुरोध पर

ELB -->>-- EC2+HAProxy -->>-- EC2+Nginx (multipe instances) 

HAProxy लॉग several time metrics एक सहित Tr कहा जाता है।

Tr: सर्वर प्रतिक्रिया समय (केवल HTTP मोड)। यह उस समय के बीच समाप्त हो गया है जब सर्वर पर टीसीपी कनेक्शन स्थापित किया गया था और जिस समय सर्वर ने अपना पूरा प्रतिक्रिया शीर्षलेख भेजा था। डेटा ट्रांसमिशन के कारण नेटवर्क ओवरहेड के बिना यह पूरी तरह से प्रसंस्करण समय दिखाता है।

अब, एचएपीआरएक्सई क्या कर रहा है, इस बारे में इतनी अधिक चर्चा क्यों करें कि ईएलबी और लेटेंसी मेट्रिक के लिए प्रासंगिक क्यों है, इस बारे में एक स्पष्टीकरण के लिए मेरे साथ रहें।

हालांकि HAProxy दूसरे से संबंधित टाइमर के एक नंबर लॉग कब तक प्रॉक्सी, इस Tr टाइमर मेरी HAProxy लॉग में एक टाइमर है कि बड़े करीने से मूल्यों द्वारा लॉग से मेल खाती है है प्रत्येक अनुरोध/प्रतिक्रिया पर विभिन्न घटनाओं के लिए इंतज़ार कर खर्च करता है ईएलबी के लिए क्लाउडवॉच की "लेटेंसी" मीट्रिक एक मिनट-दर-मिनट आधार पर, मिलीसेकंड या दो ले लो या अन्य ... जंगली रूप से भिन्न हैं ... इसलिए मैं सुझाव दूंगा कि यह ईएलबी मीट्रिक इसी तरह प्रतिक्रिया समय को लॉग कर रहा है आपके एप्लिकेशन सर्वर का, उस समय के साथ असंबंधित जो क्लाइंट को प्रतिक्रिया देने के लिए आवश्यक हो सकता है।

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

आपके आवेदन सर्वर पर ही बेंचमार्क नहीं है और लॉग अपने स्वयं के प्रदर्शन के टाइमर हैं, तो आप, उन्हें जोड़ने के बाद से विचार कर सकते हैं विलंबता मीट्रिक के लिए उच्च मूल्यों (मेरी टिप्पणियों के अनुसार) सुझाव देने के लिए लग रहे है कि आपके एप्लिकेशन में एक प्रतिक्रिया समस्या हो सकती है जो क्लाइंट कनेक्शन गुणवत्ता से संबंधित नहीं है।

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