अनुकूलन नेटवर्क विलंबता
संक्षिप्त सारांश
श्रृंखला के साथ छोटी देरी का विलंबता = योग। सुधार को व्यवस्थित रूप से प्राप्त किया जाता है: "हॉप्स" (Anycast/CDN) को कम करें, RTT (रूट/QoS) को कम करें, "बोल्ट" (DNS/TLS/TCP) कम रखें (A/ECN) कैश), और लगातार p95/p99 मापते हैं। माप के बिना कोई भी अनुकूलन भाग्य बता रहा है।
विलंबता बजट: क्या देरी होती है
आइए TTFB के अपघटन को सरल करें (पहले बाइट के लिए समय):
TTFB ≈ t_DNS + t_connect + t_TLS + t_queue + t_routing + t_app + t_first_byte
Ubi:
- t_DNS - नाम का संकल्प।
- t_connect - L4 प्रतिष्ठान (TCP/QUIC)।
- t_TLS - टीएलएस हैंडशेक।
- t_queue/t_routing - कतारें/संक्रमण (बफरिंग, ओवरलोड, एनएटी)।
- t_app - सर्वर प्रथम बाइट तक प्रसंस्करण।
लक्ष्य प्रत्येक शब्द के लिए एक एसएलओ सेट करना और नियमित रूप से जांच करना है।
SLO/metrics
DNS p95: स्थानीय स्तर पर ≤ 20-30 ms, विश्व स्तर पर ≤ 80-120 ms।
TCP p95 कनेक्ट करता है: ≤ 80-120 ms क्षेत्रीय रूप से, ≤ 200-250 ms परस्पर।
TLS हैंडशेक p95: ≤ 80-120 мс (с OCSP स्टेपलिंग, फिर से शुरू)।
TTFB p95 (स्थिर): ≤ 120-150 ms क्षेत्रीय रूप से।
TTFB p95 (API): ≤ 200-300 ms।
Jitter p95 (UDP/RT): ≤ 15-30 мс; नुकसान ≤ 0। 1–0. 3%.
अलर्ट: p95/p99 वृद्धि, 'SYN पुनर्प्राप्ति' उछाल, 'फिर से शुरू' गिरावट, 'ECN CE' या 'पैकेट हानि' वृद्धि।
DNS त्वरित प्रारंभ
Anycast अधिकारियों + करीबी पुनरावृत्ति (यदि आवश्यक हो तो DoH/DoT)।
गतिशील नामों के लिए लघु टीटीएल (60-300 एस); नकारात्मक-टीटीएल नियंत्रण में।
अनुप्रयोग के बगल में DNS कैश; 'प्रीफेच' हॉट रिकॉर्ड।
अनावश्यक CNAME → CNAME → A/AAAA चालों को बाहर करें।
TLS/HTTP: कम हैंडशेक, तेज सत्र
TLS 1 चालू करें। 3, OCSP स्टेपलिंग, CA शॉर्ट चेन।
सत्र फिर से शुरू (टिकट/आईडी) и ALPN ('h2', 'h3')।
: मल्टीप्लेक्सिंग, कम कनेक्शन - p95 से कम।
HTTP/3 (QUIC): 0-RTT (केवल पहचान), बेहतर नुकसान/झटका प्रतिरोध।
प्रीकनेक्ट/प्रीवार्म (एज/क्लाइंट): पहले से हॉट डोमेन के लिए खुले कनेक्शन।
परिवहन: टीसीपी बनाम क्यूआईसी और कर्नेल स्टैक
टीसीपी
आधुनिक भीड़ नियंत्रण: BBR v2 (या रूढ़िवादी होने पर CUBIC)।
रैपिड रिट्रांसमिट के लिए RACK/TLP; SACK सक्षम करें।
ECN + AQM (CoDel/FQ_CoDel): बफर ब्लॉक और जिटर को कम करता है।
टीसीपी फास्ट ओपन - राज्य बदलते अनुरोधों के लिए बचें; लाभ विवादास्पद है।
QUIC (HTTP/3)
TCP + TLS + HTTP/2 की तुलना में कम "हेड लॉक"।
पुनर्आदेश/हानि के लिए प्रतिरोधी; कार्यान्वयन को अद्यतन करें (उदाहरण के लिए, H3 के साथ दूत/HAProxy)।
MTU और MTU/विखंडन की निगरानी करें।
MTU/PMTUD और विखंडन
सिंगल एंड-टू-एंड एमटीयू; सुरंगों (IPsec/WireGuard/VXLAN) के लिए, ओवरहेड पर विचार करें।
PMTUD और ICMP को सक्षम करें "विखंडन की आवश्यकता है।"
QUIC के लिए - अधिकतम डेटाग्राम मॉनिटर करें और परिधि पर ICMP को काटें नहीं।
रूटिंग और पथ भौतिकी
सार्वजनिक आईपी एपीआई/एज मोर्चों के लिए एनीकास्ट।
जियो/लेटेंसी रूटिंग (GSLB) + स्वास्थ्य-जांच।
कारखाने (लीफ-स्पाइन) में ईसीएमपी और बीएफडी <1 s में खराब ट्रेल्स को समाप्त करने के लिए।
उपयोगकर्ता एकाग्रता क्षेत्रों में एप्लिंक/दावत (IX) संरेखित करें।
कतारें और QoS: बफर्स को छोटा रखें
कक्षाएं: वास्तविक समय (आरटी/वीओआईपी), इंटरैक्टिव (एपीआई), थोक (बैकअप/ईटीएल)।
एलएलक्यू/डब्ल्यूआरआर, थोक पर एपीआई/भुगतान की प्राथमिकता।
ECN (CE मार्किंग) + AQM (CoDel/FQ_CoDel) धार कतारों पर।
कट/ट्रांसफर बैकअप और "पीक मिनट" से बड़े चोट।
NAT, प्रॉक्सी और मिडलबॉक्स
NAT/फ़िल्टर कैस्केड को न्यूनतम करें।
स्टेटफुल मिडलबॉक्स पथ विषमता के लिए महत्वपूर्ण है: 5-ट्यूपल, पिन-निंग थ्रेड्स पर संतुलन।
लंबे समय तक जीवित कनेक्शन (gRPC/WebSocket) के लिए कीपालिव समर्थन और उचित निष्क्रिय समय।
कैश और डेटा प्लेसमेंट
सीडीएन/ओरिजिन-शील्ड/टियर-कैश - मूल के लिए कम यात्राएं।
वर्शन की गई संपत्ति (अपरिवर्तनीय, 1 वर्ष)।
अर्ध-गतिकी के लिए लघु TTL + 'बासी-जबकि-पुनर्नवीनीकरण'।
जियो-प्लेसमेंट: हॉट डेटा उपयोगकर्ता (रीड-प्रतिकृति/एज-केवी) के करीब है, और "सत्य का स्रोत" लिखता है।
अनुप्रयोग स्तर अनुकूलन
अनुरोधों की संख्या कम करें (पुश bundling/HTTP/2 अब प्रचलन में नहीं हैं - प्रीफेच/प्रीकनेक्ट बेहतर है)।
पेलोड कम करें: संपीड़न (ब्रोटली), वेब छवि प्रारूप, बाइनरी प्रोटोकॉल (gRPC)।
अनुरोध आइडेम्पोटेंस - सुरक्षित रिट्रे और आक्रामक टाइमआउट।
TTFB को कम करने के लिए Async/स्ट्रीमिंग (SSE/gRPC स्ट्रीमिंग)।
अवलोकन: क्या मापना है
क्लाइंट टेलीमेट्री (RUM): DNS/कनेक्ट/TLS/TTFB, जियो/ASN, डिवाइस।
नेटवर्क: आरटीटी, हानि, जिटर, ईसीएन सीई/ईसीटी (0/1), इंटरफ़ेस कतारें, त्रुटियाँ/अतिप्रवाह।
Транспорт: रिट्रांसमिट, आउट-ऑफ-ऑर्डर, cwnd/BBR राज्य, हैंडशेक आँकड़े, फिर से शुरू।
L7: p50/p95/p99, त्रुटि दर, पेलोड आकार, मार्ग हिस्टोग्राम/PoP।
क्षेत्र/एएसएन/वाहक द्वारा खंड मैट्रिक्स - यह वह जगह है जहां हॉटस्पॉट छिपाते हैं।
मिनी प्लेबुक
1) त्वरित ऑडिट p95
1. RUM से एक विलंबता बजट (DNS/TLS/कनेक्ट/TTFB) बनाएं।
2. PoP/ASN द्वारा नेटवर्क मैट्रिक्स (RTT/हानि/ECN) का नक्शा।
3. यदि 'कनेक्ट' और 'टीएलएस' हावी है → सक्षम preconnect/resumption/HTTP/3।
4. यदि 'TTFB' उच्च → कैश/एज/प्रतिकृति और अनुप्रयोग अनुकूलन है।
2) नुकसान/जिटर स्पाइक
1. अपलिंक/इंटरफेस (ड्रॉप/कतार) जाँचें।
2. सक्षम/tweak AQM (FQ_CoDel), थोक वर्ग को कम करें।
3. BFD/ECMP पथ की जाँच करें, फ्लैप लिंक को बाहर करें.
4. ग्राहकों के लिए, अस्थायी रूप से रिट्रेज़बढ़ाएं और बीच में समय कम करें।
3) क्षेत्रीय गिरावट
1. पड़ोसी PoP में GSLB स्विच करें; अपमानित होने पर Anycast/32 वापस लें।
2. TTL को कम करें, 'बासी-जबकि-पुनर्नवीनीकरण' सक्रिय करें।
3. स्थिति पृष्ठ पर स्थिति भेजें, आरसीए प्रारंभ करें।
4) HTTP/3 के लिए प्रवासन
1. खोलें UDP/443, H3/ALPN 'h3' सक्षम करें।
2. आचरण A/B: p95 TTFB और त्रुटि दर की तुलना करें।
3. 'udp हानि '/सक्रिय क्लाइंट/cwnd दोलनों का निरीक्षण करें।
कॉन्फिग पालना
Nginx (HTTP/2, OCSP, TLS 1। 3, ब्रोटली)
nginx server {
listen 443 ssl http2 reuseport;
ssl_protocols TLSv1. 2 TLSv1. 3;
ssl_stapling on; ssl_stapling_verify on;
add_header Strict-Transport-Security "max-age=31536000" always;
Compression brotli on; brotli_comp_level 5; gzip on;
Cache static location/static/{
add_header Cache-Control "public, max-age=31536000, immutable" always;
try_files $uri =404;
}
Proxy to API location/api/{
proxy_set_header Connection "";
proxy_http_version 1. 1;
proxy_read_timeout 5s;
proxy_connect_timeout 1s;
proxy_pass https://backend;
}
}
sysctl (लिनक्स नेटवर्क: ECN/SACK/RACK कर्नेल सबसिस्टम - अनुमानित मापदंड)
bash
SACK/RACK/TLP are typically included in modern cores; specify sysctl -w net for your distribution. ipv4. tcp_sack=1 sysctl -w net. ipv4. tcp_ecn=1 sysctl -w net. ipv4. tcp_fastopen=0 # carefully with TFO sysctl -w net. core. default_qdisc=fq_codel sysctl -w net. ipv4. tcp_congestion_control=bbr
QoS (सिस्को शैली, अवधारणा)
class-map match-any REALTIME match dscp ef class-map match-any INTERACTIVE match dscp af31 af21 class-map match-any BULK match dscp cs1 policy-map WAN-QOS class REALTIME priority percent 10 class INTERACTIVE bandwidth percent 50 class BULK bandwidth percent 20 random-detect ecn
प्रक्रियाओं और परिचालन प्रथाओं
क्षमता नियोजन: पीक आवर्स के दौरान क्षमता मार्जिन ≥ 30%।
परिवर्तन-नियंत्रण: मार्गों/पीओआर/गेटवे के कैनरी परिवर्तन।
नियमित PMTUD परीक्षण और ICMP नियंत्रण।
पथ प्रलेखन: NAT/प्रॉक्सी/AQM/QoS कहाँ है, जो MTU, जो स्वामी है।
L7 और नेटवर्क के बीच टाइमआउट समझौता।
iGaming/fintech विशिष्ट
इवेंट टाइम (मैच/टूर्नामेंट): सीडीएन/पीओपी को गर्म करना, महत्वपूर्ण डोमेन के लिए प्रीकनेक्ट करना, फिर से शुरू करने वाले पूल में अस्थायी वृद्धि, बॉट्स के लिए "ग्रे" मार्ग।
भुगतान चरण: समर्पित QoS वर्ग, Anycast समापन बिंदु, लघु टीएलएस श्रृंखला और सख्त संस्करण/सिफर; पीछे हटने वाले केवल पहचाने जाते हैं।
क्षेत्रीय प्रतिबंध/PSP: भू-रूटिंग + ASN/IP व्हाइटलिस्ट; फिक्स्ड एग्रेस पूल।
मोबाइल नेटवर्क: ChaCha20-Poly1305 के लिए वरीयता (ग्राहकों में कमजोर एईएस-एनआई के साथ), आक्रामक संपीड़न और HTTP/3।
कार्यान्वयन जाँच सूची
- लेटेंसी बजट (DNS/TLS/कनेक्ट/TTFB) और SLO प्रति लिंक।
- सार्वजनिक एपीआई/एज, बैकअप पीओपी के लिए Anycast/Geo-routing।
- टीएलएस 1। 3, OCSP स्टेपलिंग, फिर से शुरू ≥ 70%, HTTP/2/3 शामिल हैं।
- BBR + FQ_CoDel, ECN, SACK; PMTUD काम करता है, ICMP अवरोधित नहीं है.
- श्रृंखला के साथ एक एकल MTU, सुरंगों के ओवरहेड के लिए लेखांकन।
- QoS: रियल-टाइम/इंटरैक्टिव/बल्क, ओवरलोड इंटरफेस पर AQM कक्षाएं।
- सीडीएन/टायर्ड-कैश/ओरिजिनल-शील्ड; संपत्ति और SWR।
- RUM + Geo/ASN नेटवर्क मैट्रिक्स; p95/p99/ECN/losses के लिए अलर्ट।
- प्लेबुक: क्षेत्र का क्षरण, नुकसान में वृद्धि, यातायात हस्तांतरण।
सामान्य त्रुटियाँ
ICMP/PMTUD विखंडन/पुनर्वितरण और उच्च p95 को अवरुद्ध करता है।
AQM → बफर ब्लॉक और जिटर के बिना "मोटी" बफर्स।
लॉन्ग सीए चेन और कोई OCSP स्टेपलिंग → महंगा TLS।
स्टेटफुल फिल्टर के लिए NAT चरण और विषमता - रिट्रे/टाइमआउट।
अत्यधिक 'वैरी '/गैर-वर्शनिंग संपत्ति - कम हिट-अनुपात सीडीएन।
कोई QoS विभाजन → API अपने चरम पर बैकअप के साथ प्रतिस्पर्धा करता है।
कुल
विलंब अनुकूलन डीएनएस/टीएलएस/कैश पर नेटवर्क इंजीनियरिंग, उचित परिवहन और "बोल्ट" बचत का एक संयोजन है। Anycast/Geo-routing, TLS 1 को लागू करें। 3 + फिर से शुरू, HTTP/3, BBR + FQ_CoDel/ECN, MTU पर बातचीत करते हैं, QoS और SLO सेट करते हैं, p95/p99 को मापते हैं और प्लेबुक को स्वचालित करते हैं। फिर उपयोगकर्ताओं को सबसे "जलते हुए" मिनटों में भी एक त्वरित प्रतिक्रिया मिलेगी, और मंच - सुरक्षा की भविष्यवाणी और मार्जिन।