GH GambleHub

हार्डवेयर और संसाधनों का अनुकूलन

संक्षिप्त सारांश

अनुकूलन "एक चीज को तेज करने" के बारे में नहीं है, लेकिन प्रदर्शन को संतुलित करना ↔ लागत ↔ विश्वसनीयता ↔ ऊर्जा। मूल कदम: SLI/SLO और प्रोफाइल को मापना, बाधाओं को ढूंढना, "ठीक से आयाम" क्षमता, स्वचालित स्केलिंग और इमेजरी/चार्ट/नीतियों में लंगर सुधार।

लक्ष्य और सिद्धांत

UX से हार्डवेयर तक: SLO से शुरू (p95 विलंबता, संचालन की सफलता) - एक सीमित संसाधन की तलाश में।

सही आकार: लोड की प्रकृति के लिए संसाधन और उदाहरण प्रकार।

नकदी और निकटता: भंडारण और नेटवर्क के लिए "महंगी" यात्राएं कम करें।

स्वचालन: स्वचालन, जीवन चक्र नीतियां, IaC।

अवलोकन: चार-सिग्नल मैट्रिक्स, सीपीयू/एलोक प्रोफाइल, ट्रेसिंग।

सुरक्षा = प्रदर्शन: mTLS/हस्ताक्षर/सीमाएं - जहां संभव हो हार्डवेयर त्वरित।

सीपीयू और शेड्यूलिंग

कार्य: सामग्री और कैश मिस को कम करें, NUMA को ध्यान में रखें और बाधित करें।

NUMA जागरूकता: नोड्स द्वारा पिनिंग ('न्यूमैक्टल --cpunodebind--membind'), डेटाबेस/दलालों के लिए - नोड पर फिक्स करें।

IRQ/softirq: कोर (RSS/RPS) द्वारा वितरित, श्रमिकों के साथ प्रतिस्पर्धा किए बिना CPU के लिए सुरक्षित गर्म कतारें।

हाइपरफ्लो: "विलंबता संवेदनशील" के लिए - भौतिक कोर पर श्रमिकों को ठीक करें।

संदर्भ स्विच: लंबी कतारों/कसाई/असिंक्रॉन के माध्यम से कम करें।

कंपाइलर/JIT: PGO/LTO (C/C + +), ग्रेल/हॉटस्पॉट प्रोफाइल (जावा), 'GOMAXPROCS', और कार्यकर्ता आवंटन (गो) शामिल हैं।

लिनक्स ट्यूनिंग (टुकड़े) के उदाहरण:
bash
IRQ affinity: bind NIC queue to specific CPU echo 2 >/ proc/irq/XX/smp_affinity # kernel mask
Softirq balance on sysctl -w net network cores. core. netdev_budget=600 sysctl -w net. core. netdev_max_backlog=5000

स्मृति और आवंटन प्रबंधन

THP/ Pages: JVM/DB के लिए - आमतौर पर THP अक्षम करें और हस्तचालित रूप से hugepages का उपयोग करें (TLB मिस कम करता है)।

NUMA संतुलन: स्टेटफुल के लिए - स्थानीय नोड के लिए प्रतिबद्ध स्मृति।

GC/allocator:
  • JVM: G1/ZGC, '-Xms = -Xmx' बराबर, उचित 'MaxGCPauseMillis'।
  • गो: 'GOGC' (100-200 के साथ शुरू), अनावश्यक आवंटन, 'pprof' प्रोफाइल से बचें।
  • पायथन: 'uvloop', 'asyncio', C-extension, कनेक्शन पूल का उपयोग करें।
  • स्वैप/zswap: बिक्री पर, आमतौर पर महत्वपूर्ण सेवाओं के लिए स्वैप बंद; सामान्य-उद्देश्य नोड्स पर - "नरम" भार के लिए zswap।

भंडारण और I/O

डिस्क प्रकार: गर्म-पथ के लिए एनवीएमई, लॉग/चौकियों/टेम्पो के लिए अलग पूल।

FS: बड़ी फ़ाइलों/DB लॉग के लिए XFS; छोटे/बहुमुखी के लिए ext4।

RAID/EC: कम विलंबता के लिए, ठंडे डेटा के लिए।

I/O शेड्यूलर: NVMe के लिए 'कोई नहीं '/' mq-dement'।

Async/Batch: समूह रिकॉर्ड, राइट-बिहाइंड/ग्रुप-कमिट का उपयोग करें।

मूल्यांकन के लिए फियो (उदाहरण):
bash fio --name=randread --filename=/data/test --size=20G --bs=4k \
--iodepth=64 --rw=randread --ioengine=libaio --numjobs=4 --time_based --runtime=60

नेटवर्क

MTU और ऑफलोड: डेटा सेंटर में 9000 MTU (यदि एंड-टू-एंड), GRO/LRO को सक्षम करें जहां अनुमति है।

RSS/RPS/RFS: NIC पर मल्टीचैनल कतारें, कोर द्वारा वितरण; irqbalance - नियंत्रण में।

SO_REUSEPORT: कोर में वितरित स्केलेबल सुनने योग्य सॉकेट।

क्लाइंट टाइमआउट और पुलिंग: शॉर्ट टीसीपी कीपलाइव, खुले कनेक्शन की सीमा, बैकप्रेशर।

टीएलएस: टीएलएस 1। 3, एईएस-एनआई हार्डवेयर निर्देश, सत्र फिर से शुरू, ओसीएसपी स्टेपलिंग।

नेटवर्क ट्यूनिंग (टुकड़े):
bash sysctl -w net. core. rmem_max=268435456 sysctl -w net. core. wmem_max=268435456 sysctl -w net. ipv4. tcp_rmem="4096 87380 134217728"
sysctl -w net. ipv4. tcp_wmem="4096 65536 134217728"

GPU/FPGA/SmartNIC (जहाँ उपयुक्त हो)

जीपीयू: धोखाधड़ी विरोधी निष्कर्ष, सिफारिशें, सीवी; 'यूटिल', 'मेम', 'एसएम _ दक्षता' की निगरानी करें।

SmartNIC/eBPF/DPDK: L4/L7 कर्नेल में संक्रमण के बिना ऑफलोड, फ़िल्टरिंग, टेलीमेट्री।

ऊर्जा प्रोफाइल: स्थिर विलंबता के लिए आवृत्तियों को ठीक करें आक्रामक शक्ति बचाने से बचें।

अनुप्रयोग और आरडीबीएमएस

कनेक्शन पूल: 'max _ conns' सीमित करें, कनेक्शन पूलिंग लागू करें (Pgbouncer/Hikari)।

इंडेक्स/शेड्यूलर: इंडेक्स, पार्टिशनिंग को कवर करने वाले प्रोफाइल को समझाएं/विश्लेषित करें।

कैशिंग: रेडिस/इन-प्रोसेस कैश, स्टेटिक्स के लिए सीडीएन, हॉट एपीआई के लिए एज कैश।

मूर्तिकला और कतारें: पीछे हटने के झरने से बचें, डीडअप चालू करें।

Gzip/Brotli: CPU लागत को ध्यान में रखते हुए प्रतिक्रियाओं का संपीड़न; संतुलन चुनें।

कंटेनर और कुबेरनेट्स

निवेदन/सीमाएँ - बिन-पैकिंग

अनुरोध = "गारंटी", सीमा = "छत। "सीपीयू थ्रॉटलिंग और पी 99 द्वारा गलत सीमाएं।

फट लोड (टूर्नामेंट/मैच चोटियों) पर विचार करें - p95 में मार्जिन।

बिन-पैकिंग: अलग मेजबान पूल (लेटेंसी-क्रिट, बैच, जीपीयू, स्पॉट)। टोपोलॉजी (एंटी-अफिनिटी, स्प्रेड) का उपयोग करें।

ऑटोस्कैलिंग

कस्टम मेट्रिक्स द्वारा एचपीए (CPU नहीं)।

"लंबे समय तक जीवित" और "ऑफ-पीक" श्रमिकों के लिए वीपीए।

क्लस्टर ऑटोस्केलर + व्यक्तिगत नोड समूह (ऑन-डिमांड/स्पॉट)।

घटना भार के लिए केईडीए (कतारें, काफ्का, क्रोन)।

शेड्यूलर और प्रबंधक

सीपीयू प्रबंधक: विलंबता-महत्वपूर्ण फ़ीड के लिए पूर्ण कोर पिन करने के लिए 'स्थिर'।

टोपोलॉजी प्रबंधक NUMA संरेखण।

पृष्ठ/उपकरण प्लगइन: DB/कम विलंबता और GPU/FPGA के लिए।

एचपीए का उदाहरण (विलंबता-जागरूक, मेट्रिक्स एडाप्टर के माध्यम से):
yaml apiVersion: autoscaling/v2 kind: HorizontalPodAutoscaler metadata: { name: api-gw }
spec:
scaleTargetRef:
apiVersion: apps/v1 kind: Deployment name: api-gw minReplicas: 6 maxReplicas: 60 metrics:
- type: Pods pods:
metric:
name: http_latency_p95_ms target:
type: AverageValue averageValue: 120

फिनोप्स और लागत

टैरिफ प्रोफाइल: CPU/RAM/Disk/network (गणना-अनुकूलित, स्मृति-अनुकूलित, भंडारण-अनुकूलित) द्वारा उदाहरण चुनें।

स्पॉट/प्रस्तावना: मल्टी-ज़ोन अतिरेक के साथ बैच/मंचन/कैश के लिए।

आरक्षण/बचत: "स्थायी" भाग के लिए 1-3 वर्षों के लिए भंडार।

हॉट/कोल्ड: टियर-स्टोरेज, आर्काइव ऑब्जेक्ट, लॉग रिटेंशन।

निष्क्रिय संसाधन: गैर-महत्वपूर्ण वातावरण की रात/सप्ताहांत रुकती है।

ऊर्जा दक्षता (ग्रीनऑप्स)

पावर प्रोफाइल: सेवा द्वारा संतुलित प्रदर्शन बनाम।

सह-स्थान: ठंड के घंटों के दौरान संघनन, अप्रयुक्त नोड्स को बंद करना।

केपीआई: वाट प्रति अनुरोध, पी 95/वाट, CO₂ - प्रदाता मेट्रिक्स।

अवलोकन और परीक्षण

Метрики: सीपीयू चोरी/थ्रॉटल, 'साइकिल/निर्देश', एलएलसी मिस, आरएसएस/वर्किंग सेट, पेज फॉल्ट, डिस्क लैट p95/99, एनआईसी ड्रॉप्स, रेट्रांसमिट।

ट्रेसिंग: "सुनहरे रास्तों" के लिए वितरित ट्रेल्स।

प्रोफाइलिंग: eBPF/Perf/Flamegraphs, 'pprof '/YourKit/JFR।

लोड परीक्षण: एसएलओ-उन्मुख, ऑपरेशन के वास्तविक मिश्रण के साथ, एक "वार्म-अप" चरण, गलती इंजेक्शन।

PromQL (विचार):
promql
CPU throttling доля sum(rate(container_cpu_cfs_throttled_seconds_total[5m])) by (pod)
/ sum(rate(container_cpu_usage_seconds_total[5m])) by (pod)

Network loss sum (rate (node_net_dropped_total[5m])) by (instance)

अनुकूलन जाँच सूची

  • एसएलओ और स्वर्ण पथ (एपीआई/भुगतान/संवितरण) परिभाषित हैं।
  • CPU/alloc/IO/नेटवर्क प्रोफाइल एकत्र किए गए, शीर्ष-N अड़ चनें मिलीं।
  • NUMA/IRQ/RSS विलंबता-महत्वपूर्ण नोड्स पर कॉन्फ़िगर किए गए हैं।
  • THP बंद (यदि आवश्यक हो), DB/जावा सेवाओं के लिए hugepages।
  • गर्म डेटा के लिए NVMe, XFS/IO-sched कॉन्फ़िगर, fio-bence की पुष्टि की।
  • नेटवर्क स्टैक: MTU, RPS/RFS, SO_REUSEPORT; टाइमआउट/पूल।
  • Kubernetes: अनुरोध सही, सीमाएं स्टिफ़ल नहीं करती हैं, व्यावसायिक मैट्रिक्स द्वारा HPA, VPA/CA शामिल हैं।
  • "महंगे" रास्तों पर कैशिंग और सीडीएन; रेडिस/एज कैश।
  • FinOps: सही आकार/भंडार/स्पॉट पूल; निष्क्रिय वातावरण को रोकना।
  • सीआई में प्रदर्शन ऑटोटेस्ट, p95/p99 पर regression।

iGaming/fintech विशिष्ट

अनुसूचित चोटियाँ: टूर्नामेंट/मैच/प्रचार - मोर्चों का "लोचदार" पूल, आरपीएस/विलंबता द्वारा कैश/सीडीएन का पूर्व-वार्मिंग, एचपीए।

भुगतान और भुगतान: व्यक्तिगत "गोल्ड" आईपी/डोमेन, प्राथमिकता कतारें, संसाधन अलगाव (दर्द/सहिष्णुता), आधार आरक्षित।

एंटीबॉट/एंटीफ्राड: भारी-मॉडल - जीपीयू-श्रमिकों पर; ऑनलाइन स्कोरिंग ≤ 50 ms p95; सुविधाओं का कैश।

नियामक: अपरिवर्तनीय लॉग और एन्क्रिप्शन को एसएलओ को नहीं तोड़ ना चाहिए - हार्डवेयर त्वरण और अतुल्यकालिक पाइपलाइनों को चालू करें।

मिनी प्लेबुक

↑ रिलीज के बाद विलंबता:

1. बर्न-रेट एसएलओ की जाँच करें; 2) 'cpu/alloc' प्रोफाइल; 3) रोलबैक/फीचर ध्वज; 4) प्रतिकृति/एपीआई कैश बढ़ाएं; 5) आरसीए और परीक्षण निर्धारण।

पीक लोड (मैच/टूर्नामेंट):

1. सीडीएन/कैश गर्म करें; 2) लिफ्ट minReplicas; 3) फटने की सीमा शामिल है; 4) पोस्ट कतारें; 5) माध्यमिक कार्यों के लिए केवल पढ़ ने के लिए मोड सक्षम करें।

सामान्य गलतियाँ

सीपीयू "घुटन" पीक वर्कलोड → उच्च पी 99 को सीमित करता है।

अवैध नोड पूल: विलंबता-महत्वपूर्ण और बैच मिलाएं।

डेटाबेस/दलालों पर NUMA/IRQ सेटिंग की अनुपस्थिति।

एल्गोरिदम/कैश/एसक्यूएल को ठीक करने के बजाय "उपचारित लक्षण" (सीपीयू जोड़ ना)।

आरपीएस/विलंबता के बजाय सीपीयू द्वारा एचपीए देर से।

सीआई में कोई प्रदर्शन परीक्षण नहीं - प्रोड में प्रतिगमन।

कुल

अनुकूलन एक व्यवस्थित कार्य है: SLI/SLO, प्रोफाइल, फिक्स एल्गोरिदम, ट्यून हार्डवेयर (NUMA/IRQ/IO/नेटवर्क), "आकार" संसाधनों को सही और स्वचालित स्केलिंग। टेम्पलेट्स (चित्र, चार्ट, राजनीति), नियंत्रण लागत और ऊर्जा में सुधार पर कब्जा करें - और आपका मंच चरम चोटियों पर भी तेज, किफायती और टिकाऊ रहेगा।

Contact

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

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

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

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

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

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