APISIX में लेटेंसी को समझना और प्रबंधित करना: एक व्यापक तकनीकी मार्गदर्शिका

December 29, 2023

Technology

APISIX में लेटेंसी के सटीक मापन के बारे में उपयोगकर्ताओं के बीच एक सामान्य प्रश्न उठता है। APISIX का उपयोग करते समय, असामान्य रूप से उच्च लेटेंसी को कैसे संबोधित किया जाना चाहिए?

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

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

latency

इन लेटेंसी को बेहतर ढंग से समझने और मापने के लिए, हम इन्हें कई प्रमुख घटकों में वर्गीकृत कर सकते हैं।

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

  2. APISIX आंतरिक प्रसंस्करण समय: इसमें APISIX द्वारा आंतरिक रूप से विभिन्न ऑपरेशन करने में लगने वाला समय शामिल होता है, जैसे रूटिंग निर्णय, प्रमाणीकरण, अधिकार प्रबंधन, और प्लगइन्स के माध्यम से लागू कस्टम लॉजिक।

  3. अपस्ट्रीम सेवा इंटरैक्शन लेटेंसी: यदि APISIX अपस्ट्रीम सेवाओं (आमतौर पर बैकएंड एप्लिकेशन या माइक्रोसर्विसेज) के साथ संचार करता है, तो इस इंटरैक्शन में लगने वाला समय समग्र लेटेंसी में शामिल होता है। इसमें APISIX से अपस्ट्रीम सेवा तक अनुरोध के यात्रा करने में लगने वाला समय और प्रतिक्रिया वापस आने में लगने वाला समय शामिल होता है।

APISIX लेटेंसी की गणना निम्न सूत्र का उपयोग करके की जा सकती है: APISIX लेटेंसी = कुल लेटेंसी - अपस्ट्रीम इंटरैक्शन लेटेंसी। कुल लेटेंसी अनुरोध भेजने से लेकर प्रतिक्रिया प्राप्त करने तक के समय को दर्शाती है, जबकि अपस्ट्रीम इंटरैक्शन लेटेंसी APISIX और अपस्ट्रीम सेवा के बीच संचार समय पर केंद्रित होती है।

नोट: लिनक्स पर, upstream_response_time को clock_gettime(CLOCK_MONOTONIC_COARSE) के माध्यम से गिना जाता है, और CONFIG_HZ=250 के सामान्य मानों के साथ, यह 4 मिलीसेकंड तक हो सकता है। साथ ही, request_time की गणना करने का समय एक मोनोटोनस समय नहीं है, बल्कि gettimeofday() का परिणाम है, जो दीवार घड़ी के अनुसार समय है। इसलिए कुछ मामलों में, upstream_response_time request_time से थोड़ा अधिक हो सकता है।

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

APISIX लेटेंसी को तीन प्रकारों में वर्गीकृत किया जा सकता है:

  1. डाउनस्ट्रीम लेटेंसी: इसमें APISIX और क्लाइंट के बीच नेटवर्क ट्रांसमिशन लेटेंसी और अनुरोध बॉडी पढ़ने जैसे ऑपरेशन शामिल होते हैं। मॉनिटरिंग और इस लेटेंसी का विश्लेषण करने से संचार प्रदर्शन के लिए अनुकूलन के लिए अंतर्दृष्टि प्रदान की जा सकती है।

  2. NGINX लेटेंसी: चूंकि APISIX अनुरोध हैंडलिंग और रूटिंग के लिए NGINX का उपयोग करता है, NGINX का आंतरिक रनटाइम समग्र लेटेंसी को प्रभावित करता है। इसकी निगरानी के लिए विशेष उपकरणों का उपयोग किया जा सकता है।

  3. लुआ प्लगइन कोड एक्जीक्यूशन लेटेंसी: APISIX के कई लुआ प्लगइन्स को ध्यान में रखते हुए, प्रत्येक प्लगइन का एक्जीक्यूशन समय एक महत्वपूर्ण कारक है। इसका विश्लेषण करने के लिए विशेष उपकरणों की आवश्यकता होती है।

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

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

APISIX और अन्य गेटवे उत्पादों के बीच QPS और लेटेंसी तुलना डेटा के लिए, "Why Is Apache APISIX the Best API Gateway?" देखें।

latency comparison of APISIX and Kong

Tags: