Demir we çeşmeleri optimizirlemek
Gysgaça gysgaça
Optimizasiýa "bir zady çaltlaşdyrmak" däl-de, öndürijiligi deňleşdirmekdir. Esasy ädimler: SLI/SLO we profilleri ölçemek, dar ýerleri tapmak, kuwwaty "dogry ölçemek", ulalmagy awtomatlaşdyrmak we şekillerde/tertiplerde/syýasatlarda gowulaşmalary berkitmek.
Maksatlary we ýörelgeleri
UX-dan demire: SLO-dan başlaýarys (p95 latency, amallaryň üstünligi) → çäklendiriji çeşme gözleýäris.
Dogry ululyk (rightsizing): ýüküň häsiýetine laýyklykda serişdeler we ýagdaýlaryň görnüşleri.
Nagt pul we ýakynlyk: ammar we torlara "gymmat" syýahaty azaldyň.
Awtomatlaşdyryş: autoscaling, durmuş sikli syýasaty, IaC.
Syn edilişi: "dört signalyň" metrikleri, CPU/alloc profilleri, treýsing.
Howpsuzlyk = öndürijilik: mTLS/gollar/çäkler - mümkin bolan ýerlerde enjamyň tizlenmegi bilen.
CPU we meýilnamalaşdyrmak
Wezipeler: kontenşeni we kesiş ýalňyşlyklaryny azaltmak, NUMA-ny we kesişleri göz öňünde tutmak.
NUMA-habarlylyk: düwünler boýunça pinning ('numactl --cpunodebind --membind'), DB/brokerler üçin - düwünde ýazga almak.
IRQ/softirq: ýadro boýunça paýlamak (RSS/RPS), workerler bilen bäsdeşlik etmezden CPU üçin gyzgyn nobatlary bellemek.
Giperpotensiýa: "gizlinlige duýgur" üçin - fiziki ýadrolarda workerleri düzetmek.
Kontekst-switçi: uzyn nobatlar/batchings/asinhron arkaly azaltmak.
Kompilýatorlar/JIT: PGO/LTO (C/C + +), Graal/HotSpot profilleri (Java), 'GOMAXPROCS' we workerleri saýlamak (Go).
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
Ýat we allokasiýalary dolandyrmak
THP/HugePages: JVM/DB üçin - adatça THP öçürmek we hugepages el bilen ulanmak (TLB ýalňyşlyklaryny azaldar).
NUMA-balans: stateful üçin - ýady lokal düwünde ýazga almak.
- JVM: G1/ZGC, '-Xms = -Xmx' deň, akylly 'MaxGCPauseMillis'.
- Go: 'GOGC' (100-200-den başlamak), gereksiz allokasiýalardan gaça durmak, 'pprof' profilleri.
- Python: 'uvloop', 'asyncio', C-uzantylar, birikmeler howuzy.
- Swap/zswap: prodda, adatça, möhüm hyzmatlar üçin swap off; umumy maksatly düwünlerde - "ýumşak" ýükler üçin zswap.
Saklamak we I/O
Diskleriň görnüşleri: NVMe hot-path, log/çek nokatlary/tizlik üçin aýratyn howuzlar.
FS: Uly faýllar/BD magazinesurnallar üçin XFS; ext4 kiçi/ähliumumy üçin.
RAID/EC: pes gijikdirmeler üçin RAID10, sowuk maglumatlar üçin RAID6/EC.
NVMe üçin 'none '/' mq-deadline'.
Async/Batch: ýazgylary toparlanyň, Write-Behind/Group-Commit ulanyň.
bash fio --name=randread --filename=/data/test --size=20G --bs=4k \
--iodepth=64 --rw=randread --ioengine=libaio --numjobs=4 --time_based --runtime=60
Tor
MTU we offload: Datacenterde 9000 MTU (eger end-to-end bolsa), GRO/LRO-ny rugsat berilýän ýerlerde goşuň.
RSS/RPS/RFS: NIC üçin köp kanally nobatlar, ýadro paýlanyşy; irqbalance - gözegçilik astynda.
SO_REUSEPORT: ýadro paýlanyşy bilen ölçenen listen-soketler.
Müşderi wagtlary we pullingi: gysga TCP-keepalive, açyk konnektleriň çäkleri, backpressure.
TLS: TLS 1. 3, AES-NI, session resumption, OCSP stapling enjamlarynyň görkezmeleri.
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 (ýerlikli ýerlerde)
GPU: antifrodyň inferensiýasy, teklipler, CV; 'util', 'mem', 'sm _ efficiency' -ni yzarlamak.
SmartNIC/eBPF/DPDK: ýadro geçmezden L4/L7 düşürmek, süzmek, telemetriýa.
Energiýa profilleri: ýygylyklary durnukly gizlinlik astynda düzetmek; agressiw güýç tygşytlamakdan gaça duruň.
Programmalar we INF
Baglanyşyk howuzlary: 'max _ conns' -ni çäklendiriň, connection pooling (PgBouncer/Hikari) ulanyň.
Indeksler/meýilleşdirijiler: indeksleri, partiýa ýerleşdirmegi öz içine alýan EXPLAIN/ANALYZE profilleri.
Kaching: Redis/in-prosession keş, statika üçin CDN, "gyzgyn" API üçin edge-keş.
Duýgurlyk we nobatlar: retraý kaskadlaryndan gaça duruň, dedup-y açyň.
Gzip/Brotli: CPU-gymmaty göz öňünde tutup jogaplary gysmak; deňagramlylygy saýlaň.
Konteýnerler we Kubernetes
Requests/Limits и bin-packing
Requests = "kepillik", Limits = "potolok". CPU → throttling we p99 boýunça nädogry Limits.
Burst-ýükleri (ýaryşlaryň/oýunlaryň iň ýokary derejesi) göz öňünde tutuň - p95 ätiýaçlyk.
Bin-packing: düwün howuzlaryny bölüň (latency-crit, batch, GPU, spot). Topologiýany (anti-affinity, spread) ulanyň.
Awtomatlaşdyryş
HPA (CPU däl-de, RPS/p95).
"Uzak ömürli" we "kik däl" workloadlar üçin VPA.
Cluster Autoscaler + aýry node toparlary (on-demand/spot).
Waka ýükleri üçin KEDA (nobatlar, Kafka, cron).
Meýilnamalaşdyryjy we dolandyryjylar
CPU Manager: "static" latency-kritiki pod.
Topology Manager: NUMA boýunça tekizlemek.
HugePages/Device Plugins: DB/pes gizlinlik we GPU/FPGA üçin.
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
FinOps we bahasy
Nyrh profilleri: CPU/RAM/disk/tor (compute-optimized, memory-optimized, storage-optimized) arkaly instansiýalary saýlamak.
Spot/Preemptible: multizonly artykmaç batch/staging/keşler üçin.
Reservation/Savings: "hemişelik" bölek üçin 1-3 ýyl ätiýaçlyklar.
Gyzgyn/sowuk: tiered-storage, arhiw obýekti, log retenşn.
Idle-çeşmeler: gijeki/dynç günleri-möhüm däl gurşawyň duralgalary.
Energiýa netijeliligi (GreenOps)
Power profiles: performance vs balanced services.
Bilelikde ýerleşdirmek: "sowuk" sagatlarda möhürlemek, ulanylmaýan düwünleri öçürmek.
KPI: soraga wat, p95/wat, CO ₂ - üpjün edijiniň metrikleri.
Synlamak we synag
Метрики: CPU steal/throttle, `cycles/instructions`, LLC miss, RSS/working set, page faults, disk lat p95/99, NIC drops, retransmits.
Söwda: "altyn ýollar" üçin paýlanan söwdalar.
Profillemek: eBPF/Perf/Flamegraphs, 'pprof '/YourKit/JFR.
Ýükleýiş synaglary: SLO-gönükdirilen, amallaryň hakyky garyndysy, "gyzdyrmak" tapgyry, fol-sanjym.
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)
Optimizasiýa barlagy
- SLO we "altyn ýollar" kesgitlenildi (API/tölegler/tölegler).
- CPU/alloc/IO/tor profilleri ýygnaldy, top-N dar ýerleri tapyldy.
- NUMA/IRQ/RSS latency-kritiki düwünlerde sazlanýar.
- THP off (zerur bolsa), DB/Java hyzmatlary üçin hugepages.
- NVMe gyzgyn maglumatlar, XFS/IO-sched sazlandy, fio-bench tassyklandy.
- Tor yığını: MTU, RPS/RFS, SO_REUSEPORT; wagt/howuz.
- Kubernetes: Requests dogry, Limits bogulmaýar, HPA iş metrleri, VPA/CA bar.
- "Gymmat" ýollarda kesmek we CDN; Redis/edge-kesh.
- FinOps: rightsizing/ätiýaçlyklar/spot-howuzlar; idle-gurşawyň durmagy.
- CI-de öndürijilik awtotestleri, p95/p99-da regressiýa.
iGaming/fintech üçin aýratynlyklar
Meýilnama boýunça iň ýokary derejeler: ýaryşlar/oýunlar/aksiýalar → "elastik" front howuzy, öň gyzdyrylan nagt pul/CDN, HPA RPS/gizlinlik boýunça.
Tölegler we tölegler: aýry-aýry "altyn" IP/domenler, ileri tutulýan nobatlar, serişdeleri izolirlemek (taints/tolerations), binýat boýunça ätiýaçlyk.
Antibot/antifrod: agyr modeller - GPU workerlerde; onlaýn skoring ≤ 50 ms p95; fiçleriň keşi.
Düzgünleşdiriji: üýtgewsiz loglar we şifrlemek SLO-ny bozmaly däldir - enjamyň tizlenmelerini we asinxron paýlaýynlaryny açyň.
Kiçi pleýbuklar
Gizlinlik ↑ goýberilenden soň:1. Burn-rate SLO barlaň; 2) 'cpu/alloc' profilleri; 3) yza çekilmek/fiçflag; 4) replikalary/API-keşi köpeltmek; 5) RCA we synagy düzetmek.
Iň ýokary ýük (oýun/ýaryş):1. CDN/keşi gyzdyrmak; 2) minReplicas götermek; 3) burst-çäkleri goşmak; 4) nobatlary ýaýratmak; 5) ikinji derejeli funksiýalar üçin read-only-re modeimi açyň.
Adaty ýalňyşlyklar
Limits CPU iň ýokary workloadlary → beýik p99 "bogýar".
Nädogry düwün howuzy: latency-kritiki we batch garyşdyrylýar.
DB/brokerlerde NUMA/IRQ sazlamalarynyň ýoklugy.
Algoritmleri/keş/SQL düzetmegiň ýerine "Alamatlary bejerýäris" (CPU goşýarys).
RPS/latency → ýerine CPU boýunça HPA giç bolýar.
CI → regressiýada öndürijilik synaglary ýok.
Jemi
Optimizasiýa ulgamlaýyn iş: SLI/SLO ölçäň, profilläň, algoritmleri düzäň, demir sazlaň (NUMA/IRQ/IO/tor), çeşmeleri "dogry ulanyň" we ulalmagy awtomatlaşdyryň. Şablonlarda (şekiller, tertipler, syýasatlar) gowulaşmalary berkitiň, çykdajylara we energiýa gözegçilik ediň - platformasyňyz aşa ýokary derejelerde-de çalt, tygşytly we durnukly bolar.