GH GambleHub

優化網絡延遲

簡短摘要

潛伏期=鏈條上的小延遲之和。系統上可以實現改進:減少「跳躍」(Anycast/CDN),減少RTT(路由/QoS),降低「螺栓」(DNS/TLS/TCP),保持隊列短(AQM/ECN),最大限度地減少字節(壓縮/緩存),並不斷測量p95/p99。任何沒有測量的優化都是占蔔。

潛伏預算: 延遲由什麼組成

簡化TTFB分解(Time To First Byte):

TTFB ≈ t_DNS + t_connect + t_TLS + t_queue + t_routing + t_app + t_first_byte
其中:
  • t_DNS就是這個名字。
  • t_connect-建立L4 (TCP/QUIC)。
  • t_TLS是TLS握手。
  • t_queue/t_routing-隊列/過渡(緩沖、擁塞、NAT)。
  • t_app是第一個字節之前的服務器處理。

目的是為每個項設置SLO並定期進行鉆探。

SLO/度量(基準)

DNS p 95:本地≤ 20-30毫秒,全球≤ 80-120毫秒。
TCP connect p95: ≤ 80-120 ms區域間,≤ 200-250 ms區域間。

TLS handshake p95: ≤ 80–120 мс (с OCSP stapling, resumption).

TTFB p95(靜態):≤ 120-150毫秒的區域性。
TTFB p95(API):≤ 200-300毫秒。

Jitter p95 (UDP/RT): ≤ 15–30 мс;損失≤ 0。1–0.3%.

Alerta:p95/p99的增長,「SYN retries」的激增,「resumption」的下降,「ECN CE」或「packet loss」的增長。

DNS: 快速啟動

Anycast權威人士+近距離招聘人員(必要時為DoH/DoT)。
用於動態名稱的短TTL(60-300 s);negative-TTL受到控制。
應用程序旁邊的DNS鍵;「prefetch」熱記錄。
排除CNAME → CNAME → A/AAAA的額外移動。

TLS/HTTP: 握手更少,會話更快

啟用TLS 1。3、OCSP stapling、CA短鏈。

Session resumption (tickets/IDs) и ALPN (`h2`, `h3`).

HTTP/2:多路復用,連接較少→低於p95。
HTTP/3(QUIC):0-RTT(僅適用於偶數),對損失/抖動的最佳抵抗力。
Preconnect/Prewarm(邊緣/客戶端):提前打開熱域的連接。

傳輸: TCP vs QUIC和核心堆棧

TCP

現代構想控制:BBR v2(或CUBIC,如果保守的話)。
快速中繼的RACK/TLP;啟用SACK。
ECN+AQM(CoDel/FQ_CoDel):減少緩沖液和擠壓。
TCP快速打開-避免進行狀態更改請求;好處是有爭議的。

QUIC (HTTP/3)

與TCP+TLS+HTTP/2相比,「頭鎖」更少。
抵禦重組/損失;更新實現(例如Envoy/HAProxy with H3)。
註意UDP/443和MTU/碎片。

MTU/PMTUD和碎片化

單個MTU終端;對於隧道(IPsec/WireGuard/VXLAN),請考慮越位。
啟用PMTUD和ICMP「需要分段」。
QUIC-監視max datagram並不要在外圍切斷ICMP。

路由和路徑物理學

用於公共IP API/邊緣前端的 Anycast。

Geo/Latency routing (GSLB) + health-checks.

ECMP和BFD在工廠(Leaf-Spine)中排除了<1 s的不良比喻。
在用戶集中區域協調指針/指針(IX)。

隊列和QoS: 保持緩沖區短

類:real-time (RT/VoIP), interactive (API), bulk (becaps/ETL)。
LLQ/WRR,將API/付款優先於散裝。
邊界隊列上的ECN(CE標記)+AQM(CoDel/FQ_CoDel)。
從「峰值分鐘」中切割/攜帶back和大彎曲。

NAT、代理和middleboxes

最小化NAT/過濾器級聯。
Stateful middlebox對路徑不對稱至關重要:5-tuple平衡,pin-ning流。
支持長壽命連接器(gRPC/WebSocket)的keepalive和合理的idle-taymout。

緩存和數據放置

CDN/origin-shield/tiered-cache-減少對起源的遠足。
轉化的刺客(immutable,1年)。
用於半揚聲器的短TTL+「stale-wile-revalidate」。
Geo-placement:熱數據更接近用戶(read-replica/edge-KV),寫入「真相源」。

應用程序級優化

減少請求的數量(bundling/HTTP/2推不再流行,最好是prefetch/preconnect)。
減少加載:壓縮(Brotli)、Web圖像格式、二進制協議(gRPC)。
請求的難度→安全的retrai和最激進的taymout。
Async/streaming(SSE/gRPC streaming)以降低TTFB。

可觀察性: 衡量什麼

客戶端遙測(RUM):DNS/connect/TLS/TTFB,Geo/ASN,設備。
網絡:RTT,損失,jitter,ECN CE/ECT(0/1),接口隊列,錯誤/溢出。

Транспорт: retransmits, out-of-order, cwnd/BBR state, handshake stats, resumption.

L7: p50/p95/p99, error rate, payload size, 路線/RoR直方圖。
按區域/ASN/電信運營商劃分度量-「熱點」隱藏在那裏。

迷你花花公子

1)快速審計p95

1.從RUM構建潛伏預算(DNS/TLS/connect/TTFB)。
2.通過PoP/ASN與網絡指標(RTT/loss/ECN)匹配。
3.如果「連接」和「TLS」占主導地位→則打開preconnect/resumption/HTTP/3。
4.如果「TTFB」高→緩存/邊緣/復制副本和應用程序優化。

2)損失/緊張激增

1.檢查uplink/接口 (drops/隊列)。
2.啟用/修飾AQM (FQ_CoDel),降低散裝類。
3.檢查BFD/ECMP路徑,排除閃爍的鏈接。
4.對於客戶-暫時擡起retrai並減少它們之間的時間。

3)區域退化

1.將GSLB切換到相鄰的PoP;withdraw Anycast/32降級。
2.降低TTL,激活「stale-wile-revalidate」。
3.將狀態發送到狀態頁面,啟動RCA。

4)遷移到HTTP/3

1.打開UDP/443,打開H3/ALPN 「h3」。
2.進行A/B:比較p95 TTFB和錯誤率。
3.觀察「udp loss」/活躍客戶/cwnd振蕩。

Config Spargalki

Nginx (HTTP/2, OCSP, TLS 1.3, Brotli)

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 (Linux網絡: 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%。
更改控制:路線/RoR/網關的金絲雀更改。
常規的PMTUD測試和ICMP控制。
路徑文檔:其中NAT/代理人/AQM/QoS,哪些是MTU,誰是所有者。
L7和網絡中繼之間的定時協議。

iGaming/fintech的細節

事件時間(比賽/錦標賽):加熱CDN/PoP,preconnect到關鍵域,暫時的恢復池增加,機器人的「灰色」路線。
支付步驟:專用的QoS類,Anycast尾聲,TLS短鏈和嚴格的版本/密碼;retrai只是偶然的。
區域限制/PSP:geo-routing+白色ASN/IP列表;固定的egress池。
移動網絡:偏愛ChaCha20-Poly1305(客戶的AES-NI較弱),積極壓縮和HTTP/3。

實施支票

  • 每個鏈接的潛伏預算(DNS/TLS/connect/TTFB)和SLO。
  • Anycast/Geo-routing for public API/edge,備份PoP。
[] TLS 1.3、OCSP stapling, resumption ≥ 70%, HTTP/2/3包括在內。
[] BBR + FQ_CoDel, ECN, SACK;PMTUD正在運行,ICMP沒有鎖定。
  • 單個MTU沿鏈,隧道過頭會計。
  • QoS: real-time/interactive/bulk類,重載接口上的AQM。
[] CDN/Tiered-cache/Origin-shield;轉化代理和SWR。
  • RUM+基於Geo/ASN的網絡指標;p95/p99/ECN/損失。
  • 花花公子:區域退化,損失激增,交通轉移。

典型錯誤

ICMP/PMTUD鎖定→碎片/重新編輯和高位p95。
沒有AQM的「厚」緩沖區→緩沖區和jitter。
長的CA鏈和缺乏OCSP鏈→昂貴的TLS。
靜態濾波器→ retrai/taymout的NAT級聯和不對稱性。
過量的「Vary」/不忠實的刺客 →低的CDN命中率。
沒有QoS細分→ API在高峰期與後備隊競爭。

底線

延遲優化是網絡工程,正確傳輸和節省DNS/TLS/緩存上的「螺栓」的組合。實施Anycast/Geo-routing, TLS 1.3+恢復,HTTP/3,BBR+FQ_CoDel/ECN,協調MTU,設置QoS和SLO,測量p95/p99並自動化花花公子。然後用戶即使在最「燃燒」的分鐘也會得到快速響應,平臺是可預測性和安全邊際。

Contact

與我們聯繫

如有任何問題或支援需求,歡迎隨時聯絡我們。我們隨時樂意提供協助!

Telegram
@Gamble_GC
開始整合

Email 為 必填。Telegram 或 WhatsApp 為 選填

您的姓名 選填
Email 選填
主旨 選填
訊息內容 選填
Telegram 選填
@
若您填寫 Telegram,我們將在 Email 之外,同步於 Telegram 回覆您。
WhatsApp 選填
格式:國碼 + 電話號碼(例如:+886XXXXXXXXX)。

按下此按鈕即表示您同意我們處理您的資料。