प्रवृत्ति क्या है? एपीआई के लिए नेटवर्क विलंबन समझाया गया

प्रवृत्ति क्या है? एपीआई के लिए नेटवर्क विलंबन समझाया गया

स्क्रैपलेस स्क्रैपिंग ब्राउज़र डेटा इकट्ठा करने के लिए प्रबंधित क्लाउड ब्राउज़र सत्र प्रदान करता है जो जावास्क्रिप्ट द्वारा प्रदर्शित सार्वजनिक वेब पृष्ठों से है।

TL;DR

  • विलंबन मापता है देरी। यह वर्णन करता है कि डेटा या कार्य को एक प्रारंभिक घटना से अवलोकित परिणाम तक पहुँचने में कितना समय लगता है।
  • राउंड-ट्रिप समय सामान्य है लेकिन स्व universal नहीं है। एकतरफा विलंब, पहले बाइट का समय, इनपुट विलंब, और एंड-टू-एंड कार्य समय अलग-अलग सवालों का उत्तर देते हैं।
  • बैंडविड्थ और विलंबन स्वतंत्र आयाम हैं। एक उच्च-क्षमता पथ फिर भी लंबे प्रक्षिप्ति या प्रसंस्करण विलंब का सामना कर सकता है।
  • एक अनुरोध परतों के बीच विलंब को संचित करता है। DNS, कनेक्शन सेटअप, सुरक्षा वार्ता, नेटवर्क ट्रांज़िट, सर्वर कतारें, गणना, ट्रांसफर, और रेंडरिंग सभी योगदान करते हैं।
  • अच्छी अनुकूलनता एक टूटने के साथ शुरू होती है। कैशिंग, कनेक्शन पुन: उपयोग, क्षेत्रीय प्लेसमेंट, या पै payload कम करने से पहले नामित चरणों को मापें।

विलंबन वह समय है जो प्रतीक्षा में व्यतीत होता है

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

भौतिक दूरी नेटवर्क विलंबन पर एक निचली सीमा रखती है क्योंकि संकेतों को फाइबर, तांबा, रेडियो लिंक, राउटर्स, और मध्यवर्ती सिस्टम के माध्यम से प्रक्षिप्त होने में समय लगता है। Apple का संग्रहित नेटवर्किंग विलंबन का स्पष्टीकरण इसे राउंड-ट्रिप समय के रूप में प्रस्तुत करता है और ध्यान देता है कि दूरी बिना अधिक बोझ के भी योगदान करती है। वास्तविक प्रणालियाँ सीरियलाइजेशन, कतारबद्धता, प्रोटोकॉल, प्रसंस्करण, और अनुसूचना विलंब को उस फर्श के ऊपर जोड़ती हैं।

एक अनुरोध का विलंबन बजट

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

नाम समाधान और कनेक्शन सेटअप

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

ट्रांज़िट और कतारबद्धता

पैकेट लिंक और फॉरवर्डिंग डिवाइस को पार करते हैं। प्रक्षिप्ति दूरी और माध्यम को दर्शाती है; सीरियलाइजेशन लिंक दर और पैकेट आकार को प्रदर्शित करता है; कतारबद्धता प्रतिस्पर्धी ट्रैफ़िक को दर्शाती है। कतारबद्धता सबसे परिवर्तनीय घटक है और जब एक पथ लोड होता है तो तेजी से बढ़ सकता है।

सर्वर और क्लाइंट कार्य

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

विलंबन मैट्रिक्स विभिन्न सवालों का उत्तर देती हैं

एक तुलना केवल तब उपयोगी होती है जब पंक्तियाँ एक ही परत का वर्णन करती हैं। यह तालिका 'प्रवृत्ति क्या है' को उन अवधारणाओं के बगल में रखती है जो इसके साथ भ्रमित होने की सबसे अधिक संभावना होती है।

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

जहाँ विलंबन प्रणाली के व्यवहार को बदलता है

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

इंटरएक्टिव इंटरफेस

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

वितरित एपीआई

सेवा-से-सेवा कॉल एक देरी को बढ़ा सकते हैं जब एक अनुरोध डाउनस्ट्रीम ऑपरेशनों की श्रृंखला पर इंतजार करता है।

डेटा संग्रहण

नेविगेशन, रेंडरिंग, निष्कर्षण और संग्रहण प्रत्येक समय जोड़ते हैं, इसलिए चरण-स्तरीय माप वास्तविक बाधा की पहचान करते हैं।

वास्तविक समय नियंत्रण

स्वर, गेमिंग, औद्योगिक नियंत्रण, और सहयोगी उपकरण भिन्नता के साथ-साथ औसत देरी के प्रति संवेदनशील होते हैं।

सिग्नल का मिश्रण किए बिना लेटेंसी कैसे मापें

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

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

निर्णयों के लिए मैप करने वाली सीमाओं को उपकरण करें। W3C नेविगेशन टाइमिंग विशिष्टता नेविगेशन चरणों के लिए ब्राउज़र समय गुणों को परिभाषित करती है। सर्वर ट्रेस कतार समय को अनुप्रयोग कार्य से अलग कर सकते हैं, जबकि क्लाइंट स्पैन पार्सिंग और रेंडरिंग को अलग कर सकते हैं। लक्ष्य एक लेटेंसी बजट है जिसके प्रविष्टियां ऐसी हो सकती हैं जिन पर कार्य किया जा सके, न कि संबंधित टाइमर्स से भरा एक डैशबोर्ड।

लेटेंसी गलत पढ़ाई जो इंजीनियरिंग समय बर्बाद करती हैं।

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

वेब डेटा पाइपलाइनों में लेटेंसी को कम करना।

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

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

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

लेटेंसी क्या है समीक्षा चेकलिस्ट

इन चेक को उपयोग करें ताकि लेटेंसी क्या है परिभाषा को निष्पादन के सबूत में बदल सकें जिसे एक डेवलपर, ऑपरेटर, या समीक्षक पुन: उत्पन्न कर सके।

  1. सीमा को फिर से कहें। लेटेंसी क्या है के लिए, कॉलर, प्रदाता, मार्ग, और उस पूर्ण परिणाम को चिह्नित करने वाले सटीक घटना की पहचान करें।
  2. केंद्रीय दावा की पुष्टि करें। इस कथन की पुष्टि करें कि निष्पादन और उसके दस्तावेज़ीकरण के साथ: लेटेंसी देरी को मापता है। यह बताता है कि डेटा या काम को एक प्रारंभिक घटना से अवलोकित परिणाम तक पहुंचने में कितना समय लगता है।
  3. यांत्रिकी का पता लगाएं। नाम समाधान और कनेक्शन सेटअप, ट्रांजिट और कतारबंदी, सर्वर और क्लाइंट कार्य का अवलोकन करें, और रिकॉर्ड करें कि प्रत्येक चरण का स्वामित्व कौन सा घटक करता है।
  4. सबसे करीबी भेद की जांच करें। इस प्रणाली में 'एकतरफा देरी का अर्थ है 'प्रवर्तक घटना से रिसीवर घटना' के बीच का समय' क्यों है, यह दस्तावेज़ करें।
  5. एक प्रतिनिधि उपयोग केस का परीक्षण करें। वास्तविक डेटा, स्थान, मात्रा, और अनुमति सीमाओं के साथ इंटरएक्टिव इंटरफेस का उपयोग करें।
  6. एक ज्ञात गलती के खिलाफ रक्षा करें। 'हर धीमी परिणाम को नेटवर्क समस्या कहना।' की समीक्षा करें और एक स्वीकृति जांच जोड़ें जो इसे पकड़ ले।
  7. कार्यभार को सीमित करें। क्या है विलंब के लिए विषय-उपयुक्त सीमाएँ निर्धारित करें, जिसमें पेलोड, समवर्तन, निष्पादन समय और संग्रहीत आउटपुट शामिल हैं जहाँ वे लागू होते हैं।
  8. निर्णय को रिकॉर्ड करें। व्याख्या करें कि विलंब इस सीमा में क्यों फिट बैठता है और उस साक्ष्य का नाम बताएं जो बाद में एक अलग दृष्टिकोण को सही ठहरा सके।

निष्कर्ष

विलंब का वर्णन डिजाइन के एक परीक्षण योग्य भाग के रूप में करना चाहिए न कि पड़ोसी व्यवहार के लिए एक ढीला लेबल के रूप में कार्य करना चाहिए। समीक्षा को इस केंद्रीय निर्णय को बनाए रखना चाहिए: विलंब देरी को मापता है। यह वर्णन करता है कि डेटा या कार्य को प्रारंभिक घटना से देखे गए परिणाम तक पहुँचने में कितना समय लगता है। इसे यह भी रोकना चाहिए कि हर धीमे परिणाम को नेटवर्क समस्या कहा जाए। और विलंब का उपयोग उस नीति के भीतर रखा जाना चाहिए जो इंटरफेस या नेटवर्क के लिए दस्तावेजीकृत है।

क्या आप अपने वेब डेटा वर्कफ़्लो का निर्माण करने के लिए तैयार हैं?

एक मापी गई विलंब अधिग्रहण या एकीकरण चरण को ऊपर वर्णित प्रमाणीकरण और भंडारण प्रथाओं से जोड़ें।

आज साइन अप करें और पाएं $5 मुफ्त क्रेडिटकोई क्रेडिट कार्ड आवश्यक नहीं.

अपने $5 क्रेडिट का दावा करें →

अक्सर पूछे जाने वाले प्रश्न

एक अच्छा विलंब क्या है?

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

क्या विलंब और पिंग एक समान हैं?

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

क्या अधिक बैंडविड्थ विलंब को कम कर सकता है?

अधिक बैंडविड्थ क्रमबद्धता और हस्तांतरण समय को कम करता है जब एक लिंक संकटकाल होता है, विशेष रूप से बड़े पेलोड के लिए। यह प्रसार की दूरी या सर्वर की गणना को नहीं हटाता है, और यह अन्यथा निष्क्रिय पथ पर छोटे अनुरोधों के राउंड ट्रिप को सुधारने में मदद नहीं कर सकता।

API विलंब में भिन्नता क्यों होती है?

API विलंब भिन्न होता है क्योंकि मार्ग, कतारें, कनेक्शन पुन: उपयोग, सर्वर लोड, कैश, निर्भरताएँ, और पेलोड भिन्न होते हैं। निष्कर्ष निकालने से पहले मापों को क्षेत्र, समाप्ति बिंदु, प्रतिक्रिया आकार, स्थिति, और कनेक्शन स्थिति के अनुसार विभाजित करें।

संदर्भ