Pracujete na provozním pultu platebního switche, který stojí mezi obchodníky a vydavateli karet. Každou minutu přichází asi 400 transakcí za sekundu; každá se ohodnotí skóre podvodu, čeká na volný spojovací slot a předá se vydavateli k odpovědi. Model počítá z učebnicových vzorců frontu, časové limity, opakování klientů, kompromis podvodného filtru a expozici zástupného schvalování. Částky jsou v obecných měnových jednotkách (u). Pouze vzdělávací simulace — nejde o finanční, právní ani investiční radu.
Co se naučíte
Proč opakování mohou zamknout přetížený switch v bouři opakování, i když se přidá kapacita — a jak omezování zátěže smyčku přeruší.
Jak práh skóre podvodu vyvažuje ztráty z podvodů proti zamítnutým dobrým zákazníkům a proč správný práh závisí na základní četnosti podvodů.
Jak jediný pomalý vydavatel zaplní všechny spojovací sloty (Littleův zákon) a kolik stojí časové limity a zástupné zpracování.
Simulátor
Čas 0 min
▶Server v provozu
⚙Server startuje
·Volná pozice v racku
✓Vydavatel odpovídá normálně
⌛Vydavatel pomalý nebo nefunguje
⇄Zástupné zpracování zapnuto
•Příchozí transakce
Ovládání
Každý server má 32 spojovacích slotů. Přidané servery startují 5 minut; každý server se účtuje, ať už startuje, nebo ne.
Přijme nejvýše 90 % kapacity a přebytek hned odbude odpovědí „zkuste to později”, místo aby ho nechal čekat ve frontě a vypršet.
Jak obchodníci opakují technickou chybu (až 3 opakování). Okamžitě = v další minutě; backoff = náhodný exponenciální backoff, průměrná zpoždění 1, 2 a 4 minuty.
Transakce se skóre na této hodnotě nebo nad ní se zamítají. Skóre je ve směrodatných odchylkách provozu skutečných zákazníků: nižší znamená víc zastavených podvodů a víc zamítnutých dobrých zákazníků.
Skóre takto pod prahem dostane místo rozhodnutí dodatečnou výzvu zákazníkovi: 85 % skutečných zákazníků ji dokončí, 5 % podvodníků projde. 0 = vypnuto.
Jak dlouho spojovací slot čeká na odpověď vydavatele. Poté switch odešle storno a použije zástupné schválení, nebo zamítne s „vydavatel nedostupný”.
Když vydavatel neodpoví včas, switch schválí jeho jménem do této částky. Každé zástupné schválení je expozice, kterou vydavatel nikdy nezkontroloval. 0 = vypnuto.
Ukazatele
Míra schválení dobrých zákazníků
99,9%
normální
Doba autorizace
330ms
normální
Míra podvodů (podíl schválené částky)
10,4bp
normální
Obsazené spojovací sloty
69%
normální
Míra schválení, zdraví vydavatelé
99,9 %
Dobří zákazníci zamítnutí pravidlem podvodu
1,3 ‰
Transakce poslané na dodatečné ověření
0,0 %
Zastavený podvod
31 %
Nové transakce
400 tx/s
Nabízená zátěž (nové + opakování)
400 tx/s
Opakování
0 tx/s
Odmítnuto (odpověď „zkuste později”)
0 tx/s
Zahozeno ve frontě
0,0 %
Časové limity vydavatelů
0,0 %
Zástupná schválení
0 tx/s
Servery v provozu
6
Startující servery
0
Rychlost nákladů na servery
36 u/h
Dosavadní náklady na servery
0 u
Expozice zástupného schvalování
0,00 M u
Dosud schválený podvod
0,00 M u
Dosud ztracené dobré transakce
0,0 k tx
Transakce čekající na opakování
0 tx
Latence vydavatelů skupiny B (průměr)
250 ms
Trend
Krizové scénáře
Úroveň 1 · Špička výprodeje
Velký online výprodej začíná v 5. minutě a na 45 minut zdvojnásobí provoz na asi 800 transakcí za sekundu. Switch běží na 6 serverech dimenzovaných pro normální den při asi 70% vytížení. Obchodníci opakují každou technickou chybu okamžitě. Udržte dobré zákazníky schválené a odpovědi rychlé, aniž byste kupovali kapacitu, kterou nepotřebujete.
Průměrné schválení dobrých zákazníků ≥ 95 % od začátku výprodeje
Průměrná doba autorizace ≤ 500 ms
Náklady na servery ≤ 75 u
Úroveň 2 · Vlna podvodů
V 5. minutě se začne používat dávka ukradených údajů o kartách: podíl podvodů v provozu skočí z 0,1 % na 1 %. Práh zamítnutí je nastaven pro normální dny (3σ) a dodatečné ověření je vypnuté. Snižte míru podvodů, aniž byste odmítali dobré zákazníky.
Průměrná míra podvodů ≤ 25 bp
Průměrné schválení dobrých zákazníků ≥ 98 %
Dobří zákazníci zamítnutí pravidlem ≤ 5 ‰
Úroveň 3 · Výpadek vydavatele
V 5. minutě zpomalí vydavatelé skupiny B — čtvrtina veškerého provozu — na průměrnou dobu odpovědi 12 sekund. Switch čeká na odpověď až 8 s, nemá zástupné schvalování a běží na 6 serverech. Udržte tok zákazníků zdravých vydavatelů, obsluhujte skupinu B, jak jen bezpečně lze, a držte expozici zástupného schvalování a náklady pod kontrolou.
Každý vztah, který simulátor používá, se zdrojem. Konstanty označené jako předpoklady jsou ilustrativní kalibrace.
Nové transakce přicházejí základní rychlostí krát nárůst při výprodeji; počet za minutu je náhodný (Poissonův, normální aproximace) s trochou nárazovosti.
λ(t) = base × surge(t) (2-min lag); count/min ≈ N(60λ, √(60λ)) × (1 + N(0, 0.03))[2]Předpoklad: počty slotů, doby obsluhy a vydavatele, oddělení skóre, míry průchodu dodatečného ověření, podíl zbytečné práce, částky a ceny jsou ilustrativní hodnoty pro středně velký switch, nikoli údaje nějaké skutečné sítě.
Binormální skóre podvodu: skóre skutečných a podvodných transakcí jsou dvě normální křivky vzdálené d′; práh vybírá bod na křivce ROC.
genuine score ~ N(0,1), fraud ~ N(d′,1), d′ = 2.5; FPR(t) = 1 − Φ(t), TPR(t) = 1 − Φ(t − d′); AUC = Φ(d′/√2) ≈ 0.96[6][7]Předpoklad: počty slotů, doby obsluhy a vydavatele, oddělení skóre, míry průchodu dodatečného ověření, podíl zbytečné práce, částky a ceny jsou ilustrativní hodnoty pro středně velký switch, nikoli údaje nějaké skutečné sítě.
Nákladově optimální práh: zamítni, když poměr věrohodností převýší poměr nákladů vážený základní četností — desetkrát víc podvodů ho posune o ln 10 / d′ ≈ 0,9σ níž.
Dodatečné ověření: skóre v pásmu pod prahem dostane výzvu místo rozhodnutí.
scores in [t − b, t) are challenged: genuine pass 85 %, fraud pass 5 %; scores ≥ t declined[10]Předpoklad: počty slotů, doby obsluhy a vydavatele, oddělení skóre, míry průchodu dodatečného ověření, podíl zbytečné práce, částky a ceny jsou ilustrativní hodnoty pro středně velký switch, nikoli údaje nějaké skutečné sítě.
Latence vydavatele je exponenciální; slot je držen po dobu latence nebo časového limitu, podle toho, co nastane dřív.
L ~ Exp(mean m); E[min(L, T)] = m(1 − e^(−T/m)), P(L > T) = e^(−T/m); S = 80 ms + forwarded × Σ share·E[min(L,T)][2][9]
Littleův zákon: obsazené sloty = rychlost příchodů × doba držení.
Erlang C: pravděpodobnost, že transakce čeká na volný slot, a pravděpodobnost, že čeká déle než 2s časový limit fronty.
P(W > 2 s) = C(a, N)·e^(−(N/S − λ)·2 s), a = λS; mean wait = C / (N/S − λ)[1][2]
Nad kapacitou switch vynakládá práci i na požadavky, které později zahodí, takže užitečná propustnost s rostoucí zátěží klesá; omezování zátěže odmítá přebytek levně.
λ ≥ N/S: goodput = (N/S − ω·λ)/(1 − ω), ω = 0.3; load shedding admits ≤ 0.9·N/S and answers the rest at once[4][5]Předpoklad: počty slotů, doby obsluhy a vydavatele, oddělení skóre, míry průchodu dodatečného ověření, podíl zbytečné práce, částky a ceny jsou ilustrativní hodnoty pro středně velký switch, nikoli údaje nějaké skutečné sítě.
Opakování klienta: každá technická chyba se opakuje až třikrát, hned nebo s náhodným exponenciálním backoffem.
failed attempt → retry with p = 0.95, ≤ 3 retries; immediate: next minute; backoff: delay ~ Exp(mean 1, 2, 4 min)[4][5]Předpoklad: počty slotů, doby obsluhy a vydavatele, oddělení skóre, míry průchodu dodatečného ověření, podíl zbytečné práce, částky a ceny jsou ilustrativní hodnoty pro středně velký switch, nikoli údaje nějaké skutečné sítě.
Časový limit vydavatele, storno a zástupné schválení: částky jsou lognormální, takže podíl pod limitem a schválený objem plynou z normální CDF.
issuer timeout → reversal; stand-in approves if amount ≤ limit: P = Φ((ln L − μ)/σ), volume = e^(μ+σ²/2)·Φ((ln L − μ − σ²)/σ)[9][11]
Míra podvodů v základních bodech schválené částky; 13 bp se používá jako referenční měřítko pro malé vzdálené kartové platby.
32 slots per server, 2–24 servers, +5 min boot, 6 u per server-hour · switch time 80 ms · queue timeout 2 s · issuer latency 250 ms (group B = 25 % of traffic, ±15 % per minute) · amounts lognormal, median 40 u, σ = 1, fraud ×1.5 · ω = 0.3 · shedding at 90 % · reversal = 80 ms of switch timePředpoklad: počty slotů, doby obsluhy a vydavatele, oddělení skóre, míry průchodu dodatečného ověření, podíl zbytečné práce, částky a ceny jsou ilustrativní hodnoty pro středně velký switch, nikoli údaje nějaké skutečné sítě.
Náhodnost: generátor mulberry32 se seedem; použitá rozdělení — rovnoměrné, exponenciální (inverzní CDF), normální (Box–Muller), Poissonovo (Knuth). Seed je zobrazen a lze ho sdílet.
M. Harchol-Balter — Performance Modeling and Design of Computer Systems: Queueing Theory in Action (M/M/k, capacity provisioning) — Cambridge University Press, 2013