GH GambleHub

सीडीएन और विलंबता में कमी अनुकूलन

1) लक्ष्य और देरी का नक्शा

लेटेंसी = DNS + TCP/TLS + TTFB (सर्वर/ओरिजिनल/कैश) + कंटेंट डिलीवरी (RTT × वॉल्यूम) + क्लाइंट रेंडर।

अनुकूलन = आरटीटी की संख्या कम करें, बाइट्स को कम करें, और उपयोगकर्ता के करीब गणना/कैश को स्थानांतरित करें।

2) सीडीएन वास्तुकला

Anycast POPs एक निकट-अंत BGP रूटिंग नोड है।

टियर्ड कैशिंग/ओरिजिनल शील्ड - एक "छाता" मध्यवर्ती परत जो मूल पर मिस तूफान को कम करती है।

भू -/क्षेत्रीय मार्ग - किरायेदार/अधिकार क्षेत्र का बंधन (डेटा संप्रभुता, लाइसेंस)।

असफलता - बैकअप मूल/क्षेत्र, स्वास्थ्य नमूने और तेजी से स्विच।

3) कैश: कुंजी, हेडर, रणनीतियाँ

3. 1 कैश कुंजी

डिफ़ॉल्ट है 'योजना + होस्ट + पथ +? प्रश्न '।

सिर्फ पैरामीटर जोड़ें जो आप चाहते हैं ('? v = ','? लैंग = ','? किरायेदार = ')। बाकी अनदेखी-परम में हैं।

'वैरी' - न्यूनतम: 'स्वीकार करें-एनकोडिंग', 'स्वीकार करें-भाषा' (यदि आवश्यक हो), 'प्राधिकरण' कैश को तोड़ ता है।

3. 2 नीतियां

सार्वजनिक स्टैटिक्स: 'कैश-कंट्रोल: सार्वजनिक, अधिकतम आयु = 31536000, अपरिवर्तनीय' + रेव (नाम में हैश)।

अर्ध-गतिकी (निर्देशिका, नियम, FAQ): 's-maxage = 300, बासी-जबकि-पुनर्नवीनीकरण = 600, बासी-यदि त्रुटि = 86400'।

API-GET: ETag/Last-Modified, 'SWR/SIE' का उपयोग करें, colessing (एक गर्म कुंजी के लिए एक अनुरोध) सक्षम करें।

निजी: व्यक्तिगत प्रतिक्रियाएं - एज-कंप्यूट (ईएसआई/केवी) या प्रति-किरायेदार कैश के माध्यम से परिधि पर।

3. 3 तूफान विरोधी

अनुरोध करें - एक साथ मिस अनुरोध को समाप्त करें।

सेवा-बासी - मूल विफल होने पर एक पुरानी वस्तु दें।

पृष्ठभूमि पुनर्मूल्यांकन - पृष्ठभूमि में अद्यतन

4) HTTP/2-3, टीसीपी/टीएलएस और जल्दी वापसी

HTTP/2: मल्टीप्लेक्स, हेडर संपीड़न; सीमा 'मैक्स समवर्ती धाराएँ', बड़े हेडर।

HTTP/3 (QUIC): मोबाइल/उच्च हानि TTFB में बड़ी कमी; प्रारंभिक-रैपिड्स और रेट्री पर नजर रखें।

टीएलएस 1। 3: 1-RTT हैंडशेक; OCSP स्टेपलिंग; HSTS।

0-RTT: केवल अज्ञात 'GET' के लिए और यदि रीप्ले जोखिम पर विचार किया जाता है।

103 प्रारंभिक संकेत: महत्वपूर्ण संसाधनों के लिए प्रारंभिक 'लिंक: rel = preload'।

प्रीकनेक्ट/डीएनएस-प्रीफेच: ''।

5) एज-कंप्यूट और "ठीक निजीकरण"

किनारे पर: शीर्षक जनगणना, भू/किरायेदार निर्धारण, ए/बी अंकन, एक मूल के लिए पूछे बिना आसान निजीकरण।

नियम: POP नोड्स पर PII संग्रहीत न करें; कैश एग्रीगेट/सार्वजनिक डेटा केवल।

6) मीडिया और प्रारूपों का अनुकूलन

चित्र: WebP/AVIF में स्वचालित रूपांतरण, आकार-पर-किनारे, 'srcset/आकार', 'lazyload'।

संपीड़न: ग्रंथों के लिए ब्रोटली (HTML/CSS/JS/JSON), gzip फॉलबैक।

वीडियो: एचएलएस/डीएएसएच, सीडीएन-सेगमेंट कैशिंग, 'प्रीलोड = मेटाडेटा', पोस्टर।

फ़ॉन्ट: सबसेट + 'फ़ॉन्ट-डिस्प्ले: स्वैप'; लंबे कैश के साथ मेजबान।

क्रिटिकल सीएसएस: इनलाइन प्रथम स्क्रीन; बाकी async है।

7) एपीआई पैटर्न और कैशिंग

Idempotent GET - हम अनुरोध कुंजी (डेटा संस्करण सहित) द्वारा कैश करते हैं।

ETag: मजबूत पेलोड हैश + 'इफ-नो-मैच'।

सरोगेट-नियंत्रण (CDN-विशिष्ट) 'Cache-Control' ग्राहक से अंतर करने के लिए।

हस्ताक्षरित यूआरएल - निजी स्थिर/मीडिया के लिए।

GraphQL: ऑपरेशन/चर द्वारा कुंजी कैश को सामान्य करें; आंशिक कैशिंग/रिज़ॉल्यूशन कैश का उपयोग करें।

WebSockets: वास्तविक समय के लिए - छोटा संदेश, संपीड़ित (परमिसेज-डिफ्लेट), उपयोगकर्ता के करीब WS-shards स्थिति।

8) कॉन्फ़िगरेशन उदाहरण

8. 1 NGINX (मूल: हम API-GET को कैश करते हैं)

nginx
We give SWR and ETag location/api/v1/catalog/{
proxy_cache api_cache;
proxy_cache_key "$scheme$request_method$host$uri$is_args$args";
proxy_cache_valid 200 5m;
proxy_cache_use_stale updating error timeout http_500 http_502 http_503 http_504;
add_header Cache-Control "public, s-maxage=300, stale-while-revalidate=600, stale-if-error=86400";
add_header ETag $upstream_http_etag;
proxy_ignore_headers Set-Cookie; # do not break the Set-Cookie proxy_hide_header cache;
proxy_pass http://catalog;
}

8. 2 तेजी से वीसीएल (एसडब्ल्यूआर, कोलसिंग, कुकीज़की अनदेखी)

vcl sub vcl_recv {
set req. hash_ignore_busy = true;   # coalescing if (req. url. qs ~ "^(?!.(lang    v)=)") { remove req. url. qs; }
if (req. http. Cookie) { remove req. http. Cookie; }
}

sub vcl_backend_response {
set beresp. ttl = 300s;
set beresp. stale_if_error = 86400s;
set beresp. stale_while_revalidate = 600s;
if (beresp. http. Set-Cookie) { unset beresp. http. Set-Cookie; }
}

8. 3 क्लाउडफ्लेयर (रूपांतरण नियम, कैश नियम, प्रारंभिक संकेत - псевдо)

json
{
"cache_rule": {
"if": "http. request. uri. path matches \"/assets/.\"",
"action": {"cache": {"eligibility":"eligible", "ttl": 31536000}}
},
"transform_rule": {
"set_headers": [{"name":"Cache-Control","value":"public, s-maxage=300, stale-while-revalidate=600"}]
},
"early_hints": {"enable": true}
}

9) मोबाइल नेटवर्क और "अस्थिर" इंटरनेट

HTTP/3 आक्रामक तरीके से उपयोग करें; महत्वपूर्ण पथ के आकार को कम करें (HTML + महत्वपूर्ण CSS <14 KB)।

प्राथमिकता H2/H3: प्राथमिकता (HTML→CSS→JS→media बाद में)।

एपीआई के लिए जिटर, आइडेम्पोटेंसी के साथ रिट्रे पॉलिसी।

आकार-बजट और बंडलिंग: कोड-विभाजन, आस्थगित जेएस, अप्रयुक्त सीएसएस/जेएस को हटाना।

10) अवलोकन और एसएलओ

RUM: TTFB, LCP, INP, CLS क्षेत्र/ASN/किरायेदारों द्वारा; p95/p99 वितरण।

सिंथेटिक्स: POP-s द्वारा नियंत्रण मार्ग "/स्वास्थ्य/cdn "।

कैश मेट्रिक्स: हिट-अनुपात समग्र और प्रति-कुंजी; मूल लाने की दर; colessing बचत।

अलर्ट: हिट-अनुपात ड्रॉप, ओरिजिनल-एग्रेस वृद्धि, H3-fraction गिरावट, 5xx प्रति ढाल।

11) आईगेमिंग/वित्त की विशिष्टताएं

गेम कैटलॉग/ऑड्स: शॉर्ट 'एस-मैक्सेज' + एसडब्ल्यूआर; क्षेत्र-जागरूक - ('किरायेदार' रीजियन 'लैंग')।

घटना चोटियों (मैच, ड्रॉ): कैश वार्मिंग (पूर्व-गर्म), भारी निजीकरण, दर्पण स्रोतों का "ठंड"।

भुगतान/कैबिनेट: निजी कैश न करें, लेकिन H3 + एज-TLS और करीबी क्षेत्र के माध्यम से तेजी लाएं।

न्यायालय: विभाजित डोमेन/पथ प्रति-क्षेत्र; 'वैरी: एक्स-रीजन' कोंट्रोल।

12) एंटीपैटर्न

'वैरी: ' सब कुछ पर; कैश कुंजी अनावश्यक कुकीज ़/हेडर पर निर्भर करती है।

SWR/SIE की कमी - छोटी मूल विफलताओं के लिए काली स्क्रीन।

टैग/कुंजी द्वारा बिंदु विकलांगता के बजाय कैश "ऑल ओवर" साफ करें।

नाम संशोधन के बिना और 'अधिकतम आयु = 0' के साथ संसाधन।

'प्राधिकरण' के लिए वैश्विक इनकार-कैश यहां तक कि जहां सार्वजनिक दिया जाता है।

मूल पर कोलसिंग की कमी - तूफान।

POP पर समय से पहले "भारी" निजीकरण।

13) प्रोड रेडीनेस चेकलिस्ट

  • Anycast POP + tiered/shield; स्वास्थ्य जांच और मूल विफलता।
  • कैश कुंजी न्यूनतम हैं; अनावश्यक प्रश्नों/कुकीज़को अनदेखा करें; 'सरोगेट-कंट्रोल'।
  • SWR/SIE सक्रिय, सक्रिय; त्रुटियों पर सेवा-बासी।
  • HTTP/3 सक्षम; टीएलएस 1। 3; 103 प्रारंभिक संकेत महत्वपूर्ण संसाधनों के लिए कॉन्फ़िगर किए
  • चित्र: AVIF/WebP, नया आकार-प्रकार; गीत के लिए ब्रोटली।
  • API-GET с ETag/Last-Modified; पहचान/पीछे हटना; निजी प्रोफाइल कैश न करें।
  • स्थैतिक डोमेन के लिए प्रीकनेक्ट करें; महत्वपूर्ण सीएसएस इनलाइन।
  • मेट्रिक्स: हिट-रेशियो, ओरिजिनल-एग्रेस, TTFB/LCP p95, H3-share, क्षेत्र/किरायेदार द्वारा।
  • घटनाओं से पहले कैश वार्म-अप योजना; बिंदु विकलांगता (टैग)।
  • भिन्न/कुंजी/टीटीएल प्रलेखन; घटनाओं की प्लेबुक (हिट-अनुपात ड्रॉप)।

14) टीएल; डीआर

एक मूल को न्यूनतम करने के लिए लंबी पैदल यात्रा करें: tiered/ढाल + उचित कैश-कुंजी + SWR/SIE + colessing। HTTP/3/TLS 1 चालू करें। 3, 103 प्रारंभिक संकेत और प्रीकनेक्ट का उपयोग करें। किनारे पर मीडिया को संपीड़ित करें और परिवर्तित करें, इनलाइन CSS। API - ETag के लिए, साफ-सुथरा 'वैरी', पहचान और उचित कैशिंग 'GET'। हिट-अनुपात, TTFB/LCP p95, मूल उत्सर्जन और चोटियों पर पहले से कैश को गर्म करें।

Contact

हमसे संपर्क करें

किसी भी प्रश्न या सहायता के लिए हमसे संपर्क करें।हम हमेशा मदद के लिए तैयार हैं!

इंटीग्रेशन शुरू करें

Email — अनिवार्य है। Telegram या WhatsApp — वैकल्पिक हैं।

आपका नाम वैकल्पिक
Email वैकल्पिक
विषय वैकल्पिक
संदेश वैकल्पिक
Telegram वैकल्पिक
@
अगर आप Telegram डालते हैं — तो हम Email के साथ-साथ वहीं भी जवाब देंगे।
WhatsApp वैकल्पिक
फॉर्मैट: देश कोड और नंबर (उदा. +91XXXXXXXXXX)।

बटन दबाकर आप अपने डेटा की प्रोसेसिंग के लिए सहमति देते हैं।