← Back to Blog

विभिन्न देशों से API की उपलब्धता: 5 मेट्रिक्स जो केवल बाहरी IP देखता है

स्थानीय API निगरानी यह नहीं दिखाएगी कि अन्य देशों में उपयोगकर्ता क्या देख रहे हैं। हम 5 उपलब्धता मेट्रिक्स का विश्लेषण करते हैं, जिन्हें केवल बाहरी IP के माध्यम से प्राप्त किया जा सकता है, और उनके संग्रह के लिए एक तैयार स्क्रिप्ट प्रदान करते हैं।

📅October 16, 2026

यदि आपकी API मॉनिटरिंग एक डेटा सेंटर में एक सर्वर पर चल रही है, तो आप केवल चित्र का एक हिस्सा देख रहे हैं। ब्राज़ील का एक उपयोगकर्ता 500 की त्रुटि प्राप्त कर सकता है, जबकि आपका डैशबोर्ड मास्को में "सब कुछ काम कर रहा है" हरे रंग की स्थिति दिखा रहा है। आइए देखें कि कौन सी 5 उपलब्धता मेट्रिक्स हैं जिन्हें किसी अन्य देश के वास्तविक बाहरी IP के माध्यम से अनुरोध किए बिना मापना संभव नहीं है, और इसे बिना जटिल बुनियादी ढांचे के कैसे किया जा सकता है।

स्थानीय मॉनिटरिंग क्यों धोखा देती है

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

एक और सामान्य परिदृश्य - CDN या WAF (Cloudflare, Akamai) के स्तर पर जियो-ब्लॉकिंग। कुछ सुरक्षा नियम विशेष देशों से IP के पूरे रेंज को ब्लॉक करते हैं, और आपका API भौतिक रूप से कुछ उपयोगकर्ताओं के लिए अनुपलब्ध होता है, जबकि आपके कार्यालय के IP से सब कुछ सही काम करता है। ऐसी समस्याओं का निदान करना संभव नहीं है यदि केवल एक बिंदु से परीक्षण किया जाए।

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

5 उपलब्धता मेट्रिक्स, जो केवल बाहरी IP के माध्यम से देखी जा सकती हैं

नीचे पांच मेट्रिक्स हैं, जो केवल तब वास्तविक उपलब्धता की तस्वीर दिखाती हैं जब अनुरोध उस IP पते से किया जाता है, जो भौतिक रूप से लक्षित देश में स्थित है या कम से कम उसके नेटवर्क के माध्यम से रूट किया गया है।

1. प्रतिक्रिया समय (Latency / RTT)

राउंड-ट्रिप टाइम - अनुरोध भेजने से लेकर पहले पैकेट के उत्तर प्राप्त करने तक का समय। यूरोप के एक सर्वर से आपके API तक की देरी 20 मिलीसेकंड हो सकती है, जबकि दक्षिण-पूर्व एशिया का उपयोगकर्ता 400-600 मिलीसेकंड का इंतजार करेगा, जो भौगोलिक दूरी और मध्यवर्ती नोड्स (hops) की संख्या के कारण है। यदि विभिन्न क्षेत्रों से लेटेंसी को मापना नहीं किया जाता है, तो यह आसानी से चूक सकता है कि कब सेवा का एक हिस्सा उपयोग के लिए लगभग अनुपयुक्त हो जाता है - विशेष रूप से उन API के लिए जो रियल-टाइम ऑपरेशनों पर निर्भर करते हैं: विज्ञापन में बोली, चैट, फिनटेक लेनदेन।

2. TTFB (Time To First Byte)

TTFB दिखाता है कि सर्वर अनुरोध को संसाधित करने में कितना समय लेता है उत्तर भेजने की शुरुआत से पहले। यह मेट्रिक केवल नेटवर्क पर निर्भर नहीं है, बल्कि इस पर भी निर्भर करती है कि कौन सा CDN या लोड बैलेंसर विशेष क्षेत्र की सेवा कर रहा है। अक्सर ऐसा होता है कि एक देश में एज सर्वर उत्तर को कैश करता है और इसे 50 मिलीसेकंड में देता है, जबकि दूसरे देश में अनुरोध हर बार मूल सर्वर तक पहुंचता है और फिर से संसाधित होता है, जिसमें 800 मिलीसेकंड या उससे अधिक का समय लगता है। क्षेत्रों के बीच TTFB में अंतर CDN कॉन्फ़िगरेशन में समस्याओं या एज नोड्स के अपर्याप्त कवरेज का सही संकेत है।

3. DNS-हल करने का समय

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

4. क्षेत्रों के अनुसार सफल अनुरोधों का प्रतिशत (Uptime)

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

5. सामग्री और स्थिति कोड में भिन्नताएँ (जियो-ब्लॉकिंग और व्यक्तिगतकरण)

पांचवां मेट्रिक गति के बारे में नहीं है, बल्कि उत्तर की सामग्री के बारे में है। API कुछ देशों के लिए WAF के नियमों के कारण 403 Forbidden दे सकता है, लाइसेंसिंग प्रतिबंधों के कारण डेटा का सीमित सेट वापस कर सकता है, या जियो से जुड़े A/B परीक्षणों के कारण सामग्री का एक अलग संस्करण दिखा सकता है। यदि API का परीक्षण केवल अपने IP से किया जाता है, तो ऐसी भिन्नताएँ पूरी तरह से अनदेखी रह जाएंगी - और यही अक्सर विशेष क्षेत्रों के उपयोगकर्ताओं से शिकायतों का कारण बनती हैं।

समझना महत्वपूर्ण है

सभी पांच मेट्रिक्स को उस IP से अनुरोध की आवश्यकता होती है, जो वास्तव में लक्षित देश के नेटवर्क के माध्यम से रूट किया जाता है। एक देश में एकमात्र सर्वर वाला VPN या उसी क्षेत्र में एक क्लाउड सर्वर एक अनुमानित तस्वीर देगा, लेकिन यह नहीं दिखाएगा कि अंतिम उपयोगकर्ता आपके API तक पहुंचने के लिए किसी विशेष प्रदाता और उसके मार्गों के साथ सेवा को कैसे देखता है।

विभिन्न देशों से मॉनिटरिंग कैसे सेट करें

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

  1. प्राथमिक देशों की एक सूची बनाएं - आमतौर पर यह ट्रैफ़िक या राजस्व के मामले में शीर्ष 5 देश होते हैं।
  2. प्रत्येक देश के लिए उस देश के वास्तविक IP के साथ एक निकासी बिंदु तैयार करें (प्रॉक्सी सर्वर या भौतिक सर्वर)।
  3. एक स्क्रिप्ट या सेवा सेट करें जो प्रत्येक बिंदु के माध्यम से एक समान अनुरोध भेजती है, एक निर्दिष्ट अंतराल पर (जैसे, हर 5 मिनट)।
  4. डेटाबेस या मेट्रिक्स सिस्टम (Grafana, Prometheus, ClickHouse) में प्रत्येक देश के लिए सभी 5 मेट्रिक्स को अलग से लॉग करें।
  5. मेट्रिक्स के बुनियादी स्तर से विचलन पर अलर्ट सेट करें - उदाहरण के लिए, यदि किसी विशेष देश से लेटेंसी एक घंटे में 3 गुना बढ़ गई।

मुख्य बिंदु - वास्तव में बिंदु 2। यदि लक्षित देश में वास्तविक निकासी नहीं है, तो अन्य सभी चरण बेकार हैं, क्योंकि मेट्रिक्स उपयोगकर्ता जो देखता है उसे मापने के बजाय आपके स्वयं के मॉनिटरिंग सर्वर द्वारा देखे जाने वाले मेट्रिक्स को मापेंगे।

मॉनिटरिंग के लिए कौन सा प्रकार का प्रॉक्सी चुनें

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

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

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

मेट्रिक्स संग्रह के लिए Python में तैयार स्क्रिप्ट

नीचे एक सरल स्क्रिप्ट का उदाहरण है, जो निर्दिष्ट देश के प्रॉक्सी के माध्यम से अनुरोध भेजता है और पांच में से चार मेट्रिक्स (सामग्री में भिन्नताएँ अलग से तुलना की जानी चाहिए) को एकत्र करता है। स्क्रिप्ट requests पुस्तकालय और DNS-हल करने के समय को मापने के लिए socket मॉड्यूल का उपयोग करती है।

import time
import socket
import requests

def measure_api(url, proxy, country_label):
    hostname = url.split("//")[1].split("/")[0]

    # 1. DNS-हल करने का समय
    dns_start = time.time()
    try:
        socket.gethostbyname(hostname)
    except socket.gaierror:
        pass
    dns_time = time.time() - dns_start

    proxies = {
        "http": proxy,
        "https": proxy,
    }

    try:
        start = time.time()
        response = requests.get(
            url,
            proxies=proxies,
            timeout=10,
            stream=True
        )
        ttfb = time.time() - start  # अनुमानित TTFB

        full_load_time = time.time() - start
        status_code = response.status_code
        success = status_code == 200

        result = {
            "country": country_label,
            "dns_time_ms": round(dns_time * 1000, 2),
            "ttfb_ms": round(ttfb * 1000, 2),
            "total_time_ms": round(full_load_time * 1000, 2),
            "status_code": status_code,
            "success": success,
        }
    except requests.exceptions.RequestException as e:
        result = {
            "country": country_label,
            "dns_time_ms": round(dns_time * 1000, 2),
            "ttfb_ms": None,
            "total_time_ms": None,
            "status_code": None,
            "success": False,
            "error": str(e),
        }

    return result


# विभिन्न देशों के प्रॉक्सी के साथ उपयोग का उदाहरण
endpoints = [
    {"label": "Germany", "proxy": "http://user:[email protected]:port"},
    {"label": "Brazil", "proxy": "http://user:[email protected]:port"},
    {"label": "Singapore", "proxy": "http://user:[email protected]:port"},
]

API_URL = "https://api.yourservice.com/health"

for ep in endpoints:
    data = measure_api(API_URL, ep["proxy"], ep["label"])
    print(data)

इस प्रकार की स्क्रिप्ट के उत्पादन संस्करण में परिणामों को डेटाबेस (जैसे, ClickHouse या InfluxDB) में रिकॉर्ड करना, Grafana के माध्यम से दृश्यता और थ्रेशोल्ड मानों के पार होने पर Telegram-बॉट या Slack-webhook के माध्यम से अलर्ट जोड़ना उचित है। स्क्रिप्ट को हर देश के लिए 5-15 मिनट के अंतराल पर cron या कार्य शेड्यूलर के माध्यम से चलाना बेहतर है।

यदि बिना कोड लिखे त्वरित जांच की आवश्यकता है, तो समान अनुरोध को समय मापने के साथ cURL के माध्यम से किया जा सकता है:

curl -x http://user:[email protected]:port \
  -o /dev/null -s -w "DNS: %{time_namelookup}s | TTFB: %{time_starttransfer}s | Total: %{time_total}s | HTTP: %{http_code}\n" \
  https://api.yourservice.com/health

परिणामों की व्याख्या कैसे करें

सभी देशों से डेटा एकत्र करने के बाद कम से कम एक सप्ताह के लिए प्रत्येक क्षेत्र के लिए एक बुनियादी स्तर (baseline) बनता है। आगे, आपको केवल संख्याओं पर नहीं, बल्कि इस बुनियादी स्तर से विचलनों पर ध्यान देना चाहिए। यदि ब्राज़ील से लेटेंसी लगातार 350 मिलीसेकंड पर बनी रहती है - यह भूगोल के लिए सामान्य है, और चिंता तब उठानी चाहिए जब यह अचानक 1500 मिलीसेकंड तक बढ़ जाए। अपटाइम के साथ भी यही है: एक कठिन क्षेत्र में अस्थिर इंटरनेट के लिए 99.5% एक स्वीकार्य मानक हो सकता है, जबकि 95% तक गिरना प्रदाता या CDN की ओर से समस्या का संकेत हो सकता है।

स्थिति कोड 403 और 451 पर विशेष ध्यान देना चाहिए - ये लगभग हमेशा WAF या CDN की ओर से जियो-ब्लॉकिंग को इंगित करते हैं, न कि API की समस्या को। यदि ऐसे कोड केवल किसी विशेष देश से आते हैं और केवल एक विशेष प्रकार के प्रॉक्सी (जैसे, डेटा सेंटर प्रॉक्सी) का उपयोग करते समय दिखाई देते हैं, तो इसका मतलब हो सकता है कि ब्लॉकिंग "IP डेटा सेंटर जैसा दिखता है" के आधार पर सेट की गई है, न कि वास्तविक भू-स्थान के आधार पर - इस स्थिति में रिहायशी प्रॉक्सी के साथ परीक्षण अधिक ईमानदार तस्वीर देगा।

तैयार सेवाएं बनाम कस्टम समाधान

यदि आप अपनी स्क्रिप्ट का समर्थन नहीं करना चाहते हैं, तो बाजार में विभिन्न देशों में उपस्थिति बिंदुओं के साथ सिंथेटिक मॉनिटरिंग के लिए तैयार सेवाएं हैं: Pingdom, Uptrends, Site24x7, Checkly। ये बुनियादी ढांचे को सेट करने की आवश्यकता से छुटकारा दिलाते हैं, लेकिन आमतौर पर निश्चित स्थानों के सेट तक सीमित होते हैं और विशेष परीक्षण के लिए IP के प्रकार (रिहायशी, मोबाइल, डेटा सेंटर) के चयन में लचीलापन नहीं देते हैं।

प्रॉक्सी पर आधारित कस्टम समाधान अधिक नियंत्रण प्रदान करता है: आप वास्तव में उन देशों का परीक्षण कर सकते हैं जो आपके व्यवसाय के लिए महत्वपूर्ण हैं, विशिष्ट समस्याओं (जैसे, ASN के माध्यम से जियो-ब्लॉकिंग) के निदान के लिए IP के प्रकार के बीच स्विच कर सकते हैं और बिना किसी मध्यस्थ के सीधे अपनी मॉनिटरिंग प्रणाली में मेट्रिक्स को एकीकृत कर सकते हैं। दोनों दृष्टिकोणों का संयोजन एक उचित संतुलन है: बुनियादी SLA-मॉनिटरिंग के लिए तैयार सेवाएं, विशेष क्षेत्रों में समस्याओं के निदान के लिए प्रॉक्सी के साथ अपनी स्क्रिप्ट।

निष्कर्ष

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

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