GH GambleHub

Ýük synagy we stres profilleri

Gysgaça gysgaça

Ýükleýiş synagy hakyky we aşa ssenariýalarda öndürijiligi we durnuklylygy yzygiderli barlamakdyr. Üstünlik üçin esas: dogry traffik modeli (açyk vs closed), ýazylan SLO, arassa metrika (latency/throughput/ýalňyşlyklar/doýmak), wekilçilikli maglumatlar, awtomatlaşdyryş we gaýtalanma. Netije "RPS belgisi" däl-de, çözgüt: dar ýerler nirede, öndürijilik näçeräk, şowsuzlygyň bosagasy nirede we ony nädip göçürmeli.

SLO/SLI we maksatly metrikler

SLO (mysal): p95 API ≤ 250 ms, p99 ≤ 600 ms; hata ≤ 0. 3 %/30 gün.
SLI: latency (p50/p95/p99), throughput (RPS/CPS/QPS), saturation (CPU/heap/GC/FD/conn), ошибки (5xx, timeouts), очереди (depth/lag), DB (locks, slow queries), кэш (hit-ratio).
Hata budjetleri we Saturation-triggerler (mysal üçin, CPU> 75% ýa-da queue depth> X → degradasiýa).

Synaglaryň görnüşleri

1. Baseline/Benchmark - ýeke hyzmat/endpoint, "ideal" şertler.
2. Load - hakyky "iş güni" + ramp-up/ramp-down.
3. Stress - ýüki pese gaçýança we breakpoint düzedýänçä artdyrýarys.
4. Spike - ýiti bökmek (sekuntda x2-x10).
5. Soak/Endurance - uzak aralyk (8-72 sagat): ýat syzmagy, gizlinlik süýşmesi.
6. Capacity - öndürijilik egrisini gurmak we kuwwaty meýilleşdirmek üçin basgançakly ýük.
7. Degradation/Chaos-mix - ýük + bölekleýin şowsuzlyklar (haýal DB, kesişiň ýykylmagy, "ýykylan" aplink).

Traffik modelleri: Açyk vs Closed

Açyk model (internet üçin has real): ulanyjylar λ intensiwligi (Poisson ýaly akym) bilen gelýärler. Eger ulgam haýallasa, haýyşlar "doňdurylmaýar".
Closed model: think-time bilen wirtual ulanyjylaryň (VU) kesgitlenen sany. Gijikdirme ýokarlananda, RPS emeli usulda ýykylýar - netijelere seresaplylyk bilen.
Maslahat: Öň tarapdaky API üçin açyk modeli (k6 'arrival-rate'), içerki sinhron ssenariler üçin closed bilen birleşdiriň.

Ýüklemek profilleri (şablonlar)

"Adaty gün": esasy fon + gündelik üýtgemeler.
"Pik-iwent": başlamazdan 10-30 minut öň (gyzdyrmak), başda ýiti spike, plato, guýruk.
"Ýaryş/akym": basgançaklaryň düşegi, aralyklarda gaýtalanýan belentlikler.
"Infrastrukturanyň zaýalanmagy": kesişiň ýarysy boş, bir sebit öçürildi, PSP gizlinliginiň ýokarlanmagy.
"Failover": traffik ätiýaçlyga 1-5 minutda akýar; awto-skeili/HPA/Retry-tupanlary barlaýarys.

Maglumatlar we daşky gurşawy taýýarlamak

Synag maglumatlary: hakyky kardinalite (üpjün edijiler, walýutalar, ýurtlar), "hapa" meýdanlar, soraglary paýlamak (Pareto/Zipf).
Syrlar/PII: anonimleşdirmek; açarlar/PSP - sandbox.
Gurşaw: aýratyn perf-stend, integrasiýalardan izolýasiýa (mock/stab), kesgitlenen wersiýalar.
Syn edilişi: metrikler (Prometheus), loglar (Loki/ELK), ýollar (OTel). Jogaplarda build-id belläň.

Retraýlaryň antiştormasy we idempotentlik

Diňe idempotent amallary üçin retralar; retry-budget goýuň (mysal üçin, traffigiň 10% -inden ≤).
Exponential backoff + jitter; "collapsing" birmeňzeş GET.
Tölegler üçin - idempotent açarlary we aýdyň statuslar.
thundering herd: keş-loki, SWR, lokal semaforlar.

Gurallar we nagyşlar

k6 (ekran, açyk-model, gowy hasabat), Locust (Python-ssenariler), Gatling (Scala), JMeter (köp sanly teswirnamalar).
Teswirnamalar: HTTP/1. 1/2/3, gRPC, WebSocket, TCP/UDP; push serweri "GET ýaly" synagdan geçirmäň.
Traffigiň emele gelmegi: generatorlaryň gorizontal masştaby, tor dar ýeriniň gözegçiligi.
Profil almak: pprof/async-profiler/ebpf, OTel ýollary.

k6 kiçi mysaly (open-model + spike):
javascript import http from 'k6/http';
import {check, sleep} from 'k6';

export const options = {
scenarios: {
warmup: { executor: 'ramping-arrival-rate', startRate: 50, timeUnit: '1s',
preAllocatedVUs: 200, stages: [ { target: 200, duration: '5m' } ] },
spike: { executor: 'constant-arrival-rate', rate: 1200, timeUnit: '1s',
preAllocatedVUs: 2000, startTime: '6m', duration: '3m' }
},
thresholds: {
http_req_failed: ['rate<0. 3%'],
http_req_duration: ['p(95)<250', 'p(99)<600']
}
};

export default function () {
const res = http. get(`${__ENV. BASE_URL}/api/v1/catalog? c=${Math. floor(Math. random()1000)}`);
check(res, { 'status is 200': (r) => r. status === 200 });
sleep(Math. random()0. 9) ;//think time (for closed parts of the script)
}

Geçirmek usuly

1. Gipoteza → Haýsy dar ýerler ähtimal (CPU, BD, nagt pul, tor, TLS, GC).
2. Profil → ssenariler/ugurlar, traffigiň paýlary, modeller (açyk/closed), maglumatlar.
3. Gyzdyrmak → keş/konnektler/TLS/düşündirijiler.
4. Maksatly intensiwlige çenli → basgançaklaryň köpelmegi.
5. Plato → durnukly metrikleri we ýollary ýygnamak.
6. Stress/pese gaçmak → döwülen nokady gözlemek, awto-skeleti synlamak.
7. Derňew → Metrleriň korrelasiýasy, flamegraph, hasabat we üýtgeşmeler meýilnamasy.
8. Repruf → CI (Regression Perf) paýlaýjynyň üsti bilen gaýtalamak.

Netijeleri seljermek

Egri "ýük → gijikdirme/ýalňyşlyk": dyz gözleýäris (capacity).
Gizlinlik aralygy: tor (DNS/TLS/connect), proksi, programma, DB, daşarky jaňlar.
Doýma: CPU> 75-85%, GC pause> p95, I/O garaşmak, wezipe nobaty.
Elastikligi: awtoskeýl reaksiýasynyň wagty (HPA/KEDA), "sowuk başlangyç", keşiň gyzmagy.
Bahasy: maksatly SLO-da $/1000 RPS, iň ýokary derejä býudjet çaklamasy.

In engineeringenerçilik tejribesi

Pese gaçmagyň görkezijileri: "guýruklar" p99, nobatlaryň ýokarlanmagy, hit-rationyň düşmegi, retraýlaryň synanyşyklarynyň köpelmegi.
Konfaunderleri aýyryň: faýl deskriptorlarynyň çäkleri, sysctl, conn-pool, 'reuseport', TLS-zynjyrlar, OCSP.
DB: indeksler/meýilnamalar/soraglar kesesi, birikmeler howzy, söwda amallary, öndürijiler üçin backpressure.
Nagt pullar: ululygy/eviction-syýasat, gyzgyn açarlar, göçürmeler.
Tor/edge: HTTP/2/3, resumption ≥ 70%, Brotli, CDN açary, tiered-cache.

Ýüküň aşagyndaky gözegçilik

Metrikler: ulgam (CPU/mem/IO), runtime (GC/heap), tor (RTT/loss/ECN), L7 (p95/99, 5xx/429), nobatlar, DB/keş klasterleri.
Treýslar: "guýruklara" (tail-based), build-id/kanareýkalara bellik etmek.
Logy: Göwrümi çäklendirilen ýalňyşlyklary jemlemek ("zaDOSýa-da" log-paypline "bolmaz ýaly).
Synaglar: feature-flags we konfigi hasabatda ýazylmalydyr.

Awtomatlaşdyryş we CI/CD

Perf-jobs CI (smoke 3-5 min, nightly 30-60 min, weekly soak).
Giriş çäkleri: gizlinlik/ýalňyşlyklar/çeşmeler → regressiýa wagtynda "bild döwýäris".
Artefaktlar: grafikler, flamegraphs, profiller, JSON hasabatlary (k6/jtl).
Maglumatlary we ssenarileri wersiýalaşdyrmak, perf-skriptleriň PR-review.

iGaming/fintech üçin aýratynlyklar

Ýaryşlar/oýunlar: spike + plateau; TLS/DNS/CDN gyzdyrmak, howuz çäkleriniň ýokarlanmagy, botlar üçin "çal" ýollar.
Tölegler/PSP: sandbox-limitler, idempotentlik, berk wagtlar; degrade-mode barlagy.
Jekpotlar/wakalar: atomarlyk we yzygiderlilik, dubllaryň ýoklugy, RNG/liderbordlara ýük.
Antifrod/AML: düzgünlere ýük/ML-skoring, backpressure, wakalaryň duplikasiýasy.
Düzgünleşdiriji: metrikleri we wersiýalary iň ýokary derejelerde logirlemek, audit üçin hasabatlar.

Uçuş barlagy

  • SLO/SLI we "gyzyl çyzyklar" hasaba alyndy (ýalňyşlyk/gizlinlik/doýma).
  • Ssenariler we ýük profilleri tassyklandy (açyk/closed, spike/soak/stress).
  • Maglumatlar hakyky, PII gizlenen, integrasiýa - sandbox/mock.
  • Syn etmek taýýar: metrikler/treyslar/loglar, goýberiş bellikleri.
  • Ulgamlaryň konfigidleri (ulimit/sysctl/pools) resminamalaşdyryldy.
  • Awto-skeýl/keş ýyladyş meýilnamasy we rollback ölçegleri.
  • Çäkli alertler we toparlaryň aragatnaşyk meýilnamasy (on-call).
  • Hasabat şablony (grafikler, netijeler, hereketler) taýýarlandy.

Adaty ýalňyşlyklar

Closed-model synagy "ýaşyl" netijäni berýär we önüm düşýär (açyk modeli äsgermezlik edip bolmaz).
Wekilçilikli däl maglumatlar (bir walýuta/bir üpjün ediji) → ýalan netijeler.
Nol taýýarlyk: sowuk keşler/TLS/konnektler → başda aşa gizlinlik.
Çäklendirmesiz retraýalar → tupan we kaskad ýykylmagy.
Ähli hyzmatlar üçin birmeňzeş profiller → hakyky "gyzgyn nokatlary" geçmek.
Soak-geçişleriň ýoklugy → ýat syzmagy we süýşmek görünmeýär.
Aç-açan däl netijeler: hiç bir ýol/fleygraf ýok → dar ýeri lokallaşdyrmak mümkin däl.

Kiçi pleýbuklar

Iň ýokary kuwwatyny kesgitlemek (breakpoint)

1. Her 5-10 minutda ýüküň 10-20% basgançaklary. 2) P95-iň ýiti ösýän pursatyny we ýalňyşlyklaryny ýazga alýarys> SLO. 3) CPU/BD/kesh profillerini aýyrýarys. 4) Optimizasiýalaryň meýilnamasy we gaýtalanmagy.

Retraý tupanlaryny saklamak

1. Retry-budget-i çäklendirip, backoff + jitter-i açyň. 2) Request-collapsing/SWR giriziň. 3) "Degrad-re regimeime" rugsat bermek (çäkli işleýiş). 4) Idempotentligi gaýtadan barlamak.

Pik-iwent (ýaryş) - deslapky meýilnama

1. CDN/DNS/TLS/howuzlary gyzdyryň. 2) HPA nyşanyny artdyrmak, ätiýaçlyk goruny taýýarlamak. 3) Botlar üçin aýratyn rate-çäkler. 4) Daşbordlar "pik-re regimeim", on-call aragatnaşyk köprüsi.

Soak gijesi

1. 8-12 sagat durnukly ýük. 2) Monitorim heap/FD/conn/GC-pauses. 3) Delta p95 we hit-ratio barlaň. 4) Syzmagy we süýşmegi ýazga alýarys.

Jemi

Ýük synagy "RPS üçin ýaryş" däl-de, in engineeringenerçilik kararlaryny kabul etmek prosesi. Hakyky profilleri (esasanam açyk modeli) modelläň, SLO-ny düzüň, metrikleri we ýollary aýyryň, öndürijilik dyzyňyzy gözläň we öndürijilik bahasyny hasaplaň. Awtomatlaşdyryň, retraýalara garşy tupany saklaň we iň ýokary wakalary meýilleşdiriň - platforma iň dartgynly pursatlarda öňünden aýdyp boljak we durnukly bolar.

Contact

Biziň bilen habarlaşyň

Islendik sorag ýa-da goldaw boýunça bize ýazyp bilersiňiz.Biz hemişe kömek etmäge taýýar.

Telegram
@Gamble_GC
Integrasiýany başlamak

Email — hökmany. Telegram ýa-da WhatsApp — islege görä.

Adyňyz obýýektiw däl / islege görä
Email obýýektiw däl / islege görä
Tema obýýektiw däl / islege görä
Habar obýýektiw däl / islege görä
Telegram obýýektiw däl / islege görä
@
Eger Telegram görkezen bolsaňyz — Email-den daşary şol ýerden hem jogap bereris.
WhatsApp obýýektiw däl / islege görä
Format: ýurduň kody we belgi (meselem, +993XXXXXXXX).

Düwmäni basmak bilen siz maglumatlaryňyzyň işlenmegine razylyk berýärsiňiz.