Radite u operativnom centru platnog switcha koji stoji između trgovaca i izdavatelja kartica. Svake minute stiže oko 400 transakcija u sekundi; svaka dobiva ocjenu prijevare, čeka slobodno priključno mjesto i prosljeđuje se izdavatelju na odgovor. Model računa redove čekanja, istekove, ponovne pokušaje klijenata, kompromis filtriranja prijevara i stand-in izloženost iz udžbeničkih formula. Iznosi su u općim novčanim jedinicama (u). Samo obrazovna simulacija — nije financijski, pravni ni investicijski savjet.
Što ćete naučiti
Zašto ponovni pokušaji mogu zaključati preopterećeni switch u oluji ponovnih pokušaja čak i nakon dodavanja kapaciteta — i kako ograničavanje opterećenja prekida petlju.
Kako prag ocjene prijevare uravnotežuje gubitke od prijevara i broj odbijenih dobrih klijenata i zašto pravi prag ovisi o osnovnoj stopi prijevara.
Kako jedan spori izdavatelj puni sva priključna mjesta (Littleov zakon) i koliko koštaju istekovi i stand-in obrada.
Simulator
Vrijeme 0 min
▶Poslužitelj u radu
⚙Poslužitelj startuje
·Slobodno mjesto u rack ormaru
✓Izdavatelj odgovara normalno
⌛Izdavatelj spor ili ne radi
⇄Stand-in obrada uključena
•Dolazne transakcije
Kontrole
Svaki poslužitelj ima 32 priključna mjesta. Dodani poslužitelji startaju 5 minuta; svaki se poslužitelj naplaćuje, bez obzira startao ili ne.
Prihvaća najviše 90 % kapaciteta, a višak odmah odbija odgovorom „pokušajte kasnije” umjesto da ga pusti u red i da istekne.
Kako trgovci ponavljaju tehničku grešku (do 3 ponovna pokušaja). Odmah = u sljedećoj minuti; backoff = nasumični eksponencijalni backoff, prosječna kašnjenja 1, 2 i 4 minute.
Transakcije s ocjenom na ovoj vrijednosti ili iznad nje odbijaju se. Ocjene su u standardnim devijacijama prometa pravih klijenata: niže znači više zaustavljenih prijevara i više odbijenih dobrih klijenata.
Ocjene toliko ispod praga dobivaju dodatnu provjeru klijenta umjesto odluke: 85 % pravih klijenata je završi, 5 % prevaranata prođe. 0 = isključeno.
Koliko dugo priključno mjesto čeka odgovor izdavatelja. Nakon toga switch šalje storno i koristi stand-in ili odbija s „izdavatelj nedostupan”.
Kad izdavatelj ne odgovori na vrijeme, switch odobrava umjesto njega do ovog iznosa. Svako stand-in odobrenje izloženost je koju izdavatelj nikad nije provjerio. 0 = isključeno.
Pokazatelji
Stopa odobrenja dobrih klijenata
99,9%
normalno
Vrijeme autorizacije
330ms
normalno
Stopa prijevare (udio odobrenog iznosa)
10,4bp
normalno
Zauzeta priključna mjesta
69%
normalno
Stopa odobrenja, zdravi izdavatelji
99,9 %
Dobri klijenti odbijeni pravilom prijevare
1,3 ‰
Transakcije poslane na step-up
0,0 %
Zaustavljena prijevara
31 %
Nove transakcije
400 tx/s
Ponuđeno opterećenje (nove + ponovljene)
400 tx/s
Ponovni pokušaji
0 tx/s
Odbijeno (odgovor „pokušajte kasnije”)
0 tx/s
Odbačeno u redu
0,0 %
Istekovi izdavatelja
0,0 %
Stand-in odobrenja
0 tx/s
Poslužitelji u radu
6
Poslužitelji koji startaju
0
Brzina troška poslužitelja
36 u/h
Dosadašnji trošak poslužitelja
0 u
Stand-in izloženost
0,00 M u
Dosad odobrena prijevara
0,00 M u
Dosad izgubljene dobre transakcije
0,0 k tx
Transakcije koje čekaju ponovni pokušaj
0 tx
Latencija izdavatelja skupine B (prosjek)
250 ms
Trend
Krizni scenariji
Razina 1 · Vrhunac rasprodaje
Velika internetska rasprodaja počinje u 5. minuti i udvostručuje promet na oko 800 transakcija u sekundi tijekom 45 minuta. Switch radi sa 6 poslužitelja, dimenzioniranih za običan dan s oko 70 % zauzetosti. Trgovci ponavljaju svaku tehničku grešku odmah. Zadržite dobre klijente odobrenima i odgovore brzima bez kupnje kapaciteta koji vam ne treba.
Prosječno odobrenje dobrih klijenata ≥ 95 % od početka rasprodaje
Prosječno vrijeme autorizacije ≤ 500 ms
Trošak poslužitelja ≤ 75 u
Razina 2 · Val prijevara
U 5. minuti počinje se koristiti paket ukradenih podataka kartica: udio prijevara u prometu skače s 0,1 % na 1 %. Prag odbijanja postavljen je za obične dane (3σ), a step-up je isključen. Smanjite stopu prijevara bez odbijanja dobrih klijenata.
Prosječna stopa prijevare ≤ 25 bp
Prosječno odobrenje dobrih klijenata ≥ 98 %
Dobri klijenti odbijeni pravilom ≤ 5 ‰
Razina 3 · Ispad izdavatelja
U 5. minuti izdavatelji skupine B — četvrtina cjelokupnog prometa — usporavaju na prosječno vrijeme odgovora od 12 sekundi. Switch čeka odgovor do 8 s, nema stand-in i radi sa 6 poslužitelja. Neka klijenti zdravih izdavatelja nesmetano prolaze, poslužite skupinu B koliko god je sigurno moguće i držite stand-in izloženost i trošak pod kontrolom.
Prosječno odobrenje za klijente zdravih izdavatelja ≥ 90 %
Prosječno odobrenje dobrih klijenata ≥ 86 %
Stand-in izloženost ≤ 9 M u
Trošak poslužitelja ≤ 65 u
Osnova: model iza brojeva
Svaki odnos koji simulator koristi, s izvorom. Konstante označene kao pretpostavke ilustrativne su kalibracije.
Nove transakcije stižu osnovnom brzinom puta skok zbog rasprodaje; broj u minuti je nasumičan (Poissonov, normalna aproksimacija) s malo naletnosti.
λ(t) = base × surge(t) (2-min lag); count/min ≈ N(60λ, √(60λ)) × (1 + N(0, 0.03))[2]Pretpostavka: broj priključnih mjesta, vremena usluge i izdavatelja, razdvojenost ocjena, stope prolaza step-upa, udio uzaludnog rada, iznosi i cijene ilustrativne su vrijednosti za srednje velik switch, a ne podaci bilo koje stvarne mreže.
Binormalna ocjena prijevare: ocjene pravih i lažnih transakcija dvije su normalne krivulje udaljene d′; prag bira točku na ROC krivulji.
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]Pretpostavka: broj priključnih mjesta, vremena usluge i izdavatelja, razdvojenost ocjena, stope prolaza step-upa, udio uzaludnog rada, iznosi i cijene ilustrativne su vrijednosti za srednje velik switch, a ne podaci bilo koje stvarne mreže.
Troškovno optimalan prag: odbij kad omjer vjerojatnosti premaši omjer troškova ponderiran osnovnom stopom — deset puta više prijevara pomiče ga ln 10 / d′ ≈ 0,9σ niže.
Step-up: ocjene u pojasu ispod praga dobivaju dodatnu provjeru umjesto odluke.
scores in [t − b, t) are challenged: genuine pass 85 %, fraud pass 5 %; scores ≥ t declined[10]Pretpostavka: broj priključnih mjesta, vremena usluge i izdavatelja, razdvojenost ocjena, stope prolaza step-upa, udio uzaludnog rada, iznosi i cijene ilustrativne su vrijednosti za srednje velik switch, a ne podaci bilo koje stvarne mreže.
Latencija izdavatelja je eksponencijalna; mjesto je zauzeto za latenciju ili istek, što god prije nastupi.
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]
Littleov zakon: zauzeta mjesta = brzina dolazaka × vrijeme zadržavanja.
Erlang C: vjerojatnost da transakcija čeka slobodno priključno mjesto i vjerojatnost da čeka dulje od 2-s isteka reda.
P(W > 2 s) = C(a, N)·e^(−(N/S − λ)·2 s), a = λS; mean wait = C / (N/S − λ)[1][2]
Iznad kapaciteta switch troši rad i na zahtjeve koje kasnije odbaci, pa korisna propusnost pada kako opterećenje raste; ograničavanje opterećenja jeftino odbija višak.
λ ≥ N/S: goodput = (N/S − ω·λ)/(1 − ω), ω = 0.3; load shedding admits ≤ 0.9·N/S and answers the rest at once[4][5]Pretpostavka: broj priključnih mjesta, vremena usluge i izdavatelja, razdvojenost ocjena, stope prolaza step-upa, udio uzaludnog rada, iznosi i cijene ilustrativne su vrijednosti za srednje velik switch, a ne podaci bilo koje stvarne mreže.
Ponovni pokušaji klijenata: svaka se tehnička greška ponavlja do triput, odmah ili uz nasumični eksponencijalni backoff.
failed attempt → retry with p = 0.95, ≤ 3 retries; immediate: next minute; backoff: delay ~ Exp(mean 1, 2, 4 min)[4][5]Pretpostavka: broj priključnih mjesta, vremena usluge i izdavatelja, razdvojenost ocjena, stope prolaza step-upa, udio uzaludnog rada, iznosi i cijene ilustrativne su vrijednosti za srednje velik switch, a ne podaci bilo koje stvarne mreže.
Istek izdavatelja, storno i stand-in: iznosi su lognormalni, pa udio ispod limita i odobreni obujam slijede iz normalne CDF.
issuer timeout → reversal; stand-in approves if amount ≤ limit: P = Φ((ln L − μ)/σ), volume = e^(μ+σ²/2)·Φ((ln L − μ − σ²)/σ)[9][11]
Stopa prijevare u bazičnim bodovima odobrenog iznosa; 13 bp koristi se kao referentna ljestvica za mala udaljena kartična plaćanja.
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 timePretpostavka: broj priključnih mjesta, vremena usluge i izdavatelja, razdvojenost ocjena, stope prolaza step-upa, udio uzaludnog rada, iznosi i cijene ilustrativne su vrijednosti za srednje velik switch, a ne podaci bilo koje stvarne mreže.
Slučajnost: seedirani generator mulberry32; korištene razdiobe: uniformna, eksponencijalna (inverzna CDF), normalna (Box–Muller), Poissonova (Knuth). Seed se prikazuje i može se dijeliti.
M. Harchol-Balter — Performance Modeling and Design of Computer Systems: Queueing Theory in Action (M/M/k, capacity provisioning) — Cambridge University Press, 2013