Ön egy kereskedők és kártyakibocsátók között álló fizetési kapcsoló műveleti pultjánál dolgozik. Minden percben átlagosan körülbelül 400 tranzakció/s érkezik; mindegyiket csalásra pontozzák, szabad kapcsolati helyre várnak, és továbbítják a kibocsátójuknak válaszért. A modell tankönyvi képletekből számolja a sorbanállást, az időtúllépéseket, az ügyfél-újrapróbálkozásokat, a csalásszűrő kompromisszumát és a helyettesítő jóváhagyás kitettségét. Az összegek általános pénzegységben (u) vannak. Kizárólag oktatási szimuláció — nem pénzügyi, jogi vagy befektetési tanács.
Mit fog megtanulni
Miért zárhatják az újrapróbálkozások a túlterhelt kapcsolót egy újrapróbálkozási viharba még a kapacitás növelése után is — és hogyan töri meg a terheléslevétel a hurkot.
Hogyan cserél a csalási pontszám küszöbe csalási veszteséget elutasított jó ügyfelekre, és miért függ a helyes küszöb a csalás alapgyakoriságától.
Hogyan tölti meg egyetlen lassú kibocsátó az összes kapcsolati helyet (Little törvénye), és mibe kerülnek az időtúllépések és a helyettesítő feldolgozás.
Szimulátor
Idő: 0 min
▶Szerver üzemben
⚙Szerver indul
·Szabad szerver-rack pozíció
✓A kibocsátó normálisan válaszol
⌛A kibocsátó lassú vagy nem működik
⇄Helyettesítő feldolgozás bekapcsolva
•Beérkező tranzakciók
Vezérlők
Minden szerver 32 kapcsolati helyet tart. A hozzáadott szerverek 5 perc alatt indulnak el; minden szerver után fizetni kell, akár indul, akár nem.
A kapacitás legfeljebb 90 %-át engedi be, a többletet azonnal „próbálja később” válasszal látja el, ahelyett hogy sorba állítaná és időtúllépésre futtatná.
Hogyan próbálkoznak újra a kereskedők műszaki hiba után (legfeljebb 3 újrapróbálkozás). Azonnali = a következő percben; visszatartás = véletlenszerűsített exponenciális visszatartás, átlagos késleltetés 1, 2 és 4 perc.
Az ezen a pontszámon vagy felette pontozott tranzakciókat elutasítja. A pontszámok a valódi forgalom szórásában vannak megadva: alacsonyabb érték több megállított csalást és több elutasított jó ügyfelet jelent.
A küszöbtől ennyivel alacsonyabb pontszámok döntés helyett egy további ügyfél-kihívást kapnak: a valódi ügyfelek 85 %-a teljesíti, a csalók 5 %-a megy át rajta. 0 = ki.
Mennyi ideig vár egy kapcsolati hely a kibocsátó válaszára. Ezután a kapcsoló sztornót küld, és helyettesítő jóváhagyást (stand-in) használ, vagy „kibocsátó nem elérhető” indokkal elutasít.
Ha a kibocsátó nem válaszol időben, a kapcsoló az ő nevében eddig az összegig jóváhagy. Minden helyettesítő jóváhagyás olyan kitettség, amelyet a kibocsátó sosem ellenőrzött. 0 = ki.
Mutatók
Jó ügyfelek jóváhagyási aránya
99,9%
normális
Engedélyezési idő
330ms
normális
Csalási arány (a jóváhagyott összeg hányada)
10,4bp
normális
Foglalt kapcsolati helyek
69%
normális
Jóváhagyási arány, működő kibocsátók
99,9 %
A csalásszabály által elutasított jó ügyfelek
1,3 ‰
Step-upra küldött tranzakciók
0,0 %
Megállított csalás
31 %
Új tranzakciók
400 tx/s
Kínált terhelés (új + újrapróbálkozás)
400 tx/s
Újrapróbálkozások
0 tx/s
Levett (válasz: „próbálja később”)
0 tx/s
Eldobva a sorban
0,0 %
Kibocsátói időtúllépések
0,0 %
Helyettesítő jóváhagyások
0 tx/s
Üzemben lévő szerverek
6
Induló szerverek
0
Szerverköltség-ütem
36 u/h
Eddigi szerverköltség
0 u
Helyettesítő jóváhagyás kitettsége
0,00 M u
Eddig jóváhagyott csalás
0,00 M u
Eddig elvesztett jó tranzakciók
0,0 k tx
Újrapróbálkozásra váró tranzakciók
0 tx
B kibocsátócsoport késleltetése (átlag)
250 ms
Trend
Válsághelyzeti forgatókönyvek
1. szint · Akciós csúcshullám
Egy nagy online akció az 5. percben nyílik, és 45 percre megduplázza a forgalmat, körülbelül 800 tranzakcióra másodpercenként. A kapcsoló 6 szerveren fut, egy normál napra méretezve, körülbelül 70 %-os foglaltsággal. A kereskedők minden műszaki hibát azonnal újrapróbálnak. Tartsa jóváhagyva a jó ügyfeleket és gyorsak a válaszokat anélkül, hogy felesleges kapacitást vásárolna.
Jó ügyfelek átlagos jóváhagyása ≥ 95 % az akció kezdetétől
Átlagos engedélyezési idő ≤ 500 ms
Szerverköltség ≤ 75 u
2. szint · Csalási hullám
Az 5. percben ellopott kártyaadatok kötegét kezdik használni: a csalás aránya a forgalomban 0,1 %-ról 1 %-ra ugrik. Az elutasítási küszöb normál napokra van beállítva (3σ), a step-up ki van kapcsolva. Csökkentse a csalási arányt anélkül, hogy jó ügyfeleket utasítana el.
Átlagos csalási arány ≤ 25 bp
Jó ügyfelek átlagos jóváhagyása ≥ 98 %
A szabály által elutasított jó ügyfelek ≤ 5 ‰
3. szint · Kibocsátói kiesés
Az 5. percben a B csoport kibocsátói — a teljes forgalom egynegyede — 12 másodperces átlagos válaszidőre lassulnak. A kapcsoló legfeljebb 8 másodpercet vár egy válaszra, nincs helyettesítő jóváhagyása, és 6 szerveren fut. Tartsa a működő kibocsátók ügyfeleit forgalomban, szolgálja ki a B csoportot, amennyire biztonságosan lehet, és tartsa kordában a helyettesítő kitettséget és a költséget.
A működő kibocsátók ügyfeleinek átlagos jóváhagyása ≥ 90 %
Jó ügyfelek átlagos jóváhagyása ≥ 86 %
Helyettesítő kitettség ≤ 9 M u
Szerverköltség ≤ 65 u
Alap — a számok mögötti modell
A szimulátor által használt minden összefüggés a forrásával. A feltevésként jelölt állandók szemléltető kalibrációk.
Az új tranzakciók alapütem szorozva a vásárlási hullámmal érkeznek; a percenkénti darabszám véletlen (Poisson, normál közelítés) kevés csomósodással.
λ(t) = base × surge(t) (2-min lag); count/min ≈ N(60λ, √(60λ)) × (1 + N(0, 0.03))[2]Feltevés: a helyek száma, a kiszolgálási és kibocsátói idők, a pontszámok elkülönülése, a step-up átmenési arányok, a kárba vesző munka hányada, az összegek és az árak egy közepes méretű kapcsoló szemléltető értékei, nem egy valódi hálózat adatai.
Binormális csalási pontszám: a valódi és a csalási pontszám két, d′ távolságra lévő normálgörbe; a küszöb a ROC-görbe egy pontját választja ki.
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]Feltevés: a helyek száma, a kiszolgálási és kibocsátói idők, a pontszámok elkülönülése, a step-up átmenési arányok, a kárba vesző munka hányada, az összegek és az árak egy közepes méretű kapcsoló szemléltető értékei, nem egy valódi hálózat adatai.
Költségoptimális küszöb: akkor utasítson el, ha a valószínűségi hányados meghaladja az alaparánnyal súlyozott költséghányadost — tízszer gyakoribb csalás ln 10 / d′ ≈ 0,9σ-val lejjebb viszi.
Step-up: a küszöb alatti sávba eső pontszámokat nem döntik el, hanem kihívást kapnak.
scores in [t − b, t) are challenged: genuine pass 85 %, fraud pass 5 %; scores ≥ t declined[10]Feltevés: a helyek száma, a kiszolgálási és kibocsátói idők, a pontszámok elkülönülése, a step-up átmenési arányok, a kárba vesző munka hányada, az összegek és az árak egy közepes méretű kapcsoló szemléltető értékei, nem egy valódi hálózat adatai.
A kibocsátói késleltetés exponenciális; a helyet a késleltetés vagy az időtúllépés tartja foglalva, amelyik előbb bekövetkezik.
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 törvénye: foglalt helyek = beérkezési ütem × foglalási idő.
Erlang C: annak az esélye, hogy egy tranzakció szabad helyre vár, és annak az esélye, hogy a 2 másodperces sor-időtúllépésnél tovább vár.
P(W > 2 s) = C(a, N)·e^(−(N/S − λ)·2 s), a = λS; mean wait = C / (N/S − λ)[1][2]
A kapacitáson túl a kapcsoló később eldobott kéréseken is munkát végez, így a hasznos átbocsátás a terhelés növekedésével csökken; a terheléslevétel a többletet olcsón utasítja el.
λ ≥ N/S: goodput = (N/S − ω·λ)/(1 − ω), ω = 0.3; load shedding admits ≤ 0.9·N/S and answers the rest at once[4][5]Feltevés: a helyek száma, a kiszolgálási és kibocsátói idők, a pontszámok elkülönülése, a step-up átmenési arányok, a kárba vesző munka hányada, az összegek és az árak egy közepes méretű kapcsoló szemléltető értékei, nem egy valódi hálózat adatai.
Ügyfél-újrapróbálkozások: minden műszaki hibát legfeljebb háromszor próbálnak újra, azonnal vagy véletlenszerűsített exponenciális visszatartással.
failed attempt → retry with p = 0.95, ≤ 3 retries; immediate: next minute; backoff: delay ~ Exp(mean 1, 2, 4 min)[4][5]Feltevés: a helyek száma, a kiszolgálási és kibocsátói idők, a pontszámok elkülönülése, a step-up átmenési arányok, a kárba vesző munka hányada, az összegek és az árak egy közepes méretű kapcsoló szemléltető értékei, nem egy valódi hálózat adatai.
Kibocsátói időtúllépés, sztornó és helyettesítő jóváhagyás: az összegek lognormálisak, ezért a limit alatti hányad és a jóváhagyott forgalom a normális eloszlásfüggvényből adódik.
issuer timeout → reversal; stand-in approves if amount ≤ limit: P = Φ((ln L − μ)/σ), volume = e^(μ+σ²/2)·Φ((ln L − μ − σ²)/σ)[9][11]
A csalási arány a jóváhagyott összeg bázispontjaiban; a 13 bp referenciaskála kis összegű távoli kártyás fizetésekhez.
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 timeFeltevés: a helyek száma, a kiszolgálási és kibocsátói idők, a pontszámok elkülönülése, a step-up átmenési arányok, a kárba vesző munka hányada, az összegek és az árak egy közepes méretű kapcsoló szemléltető értékei, nem egy valódi hálózat adatai.
Véletlenszerűség: magolt mulberry32 generátor; a használt eloszlások — egyenletes, exponenciális (inverz CDF), normális (Box–Muller), Poisson (Knuth). A mag látható és megosztható.
M. Harchol-Balter — Performance Modeling and Design of Computer Systems: Queueing Theory in Action (M/M/k, capacity provisioning) — Cambridge University Press, 2013