Jūs strādājat maksājumu komutatora, kas atrodas starp tirgotājiem un karšu emitentiem, operāciju pultī. Katru minūti ierodas apmēram 400 darījumu sekundē; katrs tiek novērtēts uz krāpšanu, gaida brīvu savienojuma vietu un tiek pārsūtīts emitentam atbildei. Modelis aprēķina rindas, gaidīšanas laikus, klienta atkārtojumus, krāpšanas pārbaudes kompromisu un aizvietojošās apstiprināšanas risku pēc mācību grāmatu formulām. Summas ir vispārīgās naudas vienībās (u). Tikai izglītojoša simulācija — tas nav finanšu, juridisks vai investīciju padoms.
Ko jūs uzzināsiet
Kāpēc atkārtojumi var iesprostot pārslogotu komutatoru atkārtojumu vētrā pat pēc jaudas pievienošanas — un kā slodzes samazināšana pārrauj ciklu.
Kā krāpšanas vērtējuma slieksnis maina krāpšanas zaudējumus pret noraidītiem labiem klientiem un kāpēc pareizais slieksnis ir atkarīgs no krāpšanas bāzes biežuma.
Kā viens lēns emitents piepilda visas savienojuma vietas (Little likums) un cik maksā gaidīšanas laiki un aizvietojošā apstiprināšana.
Simulators
Laiks 0 min
▶Serveris darbojas
⚙Serveris startē
·Brīva servera vieta statnī
✓Emitents atbild normāli
⌛Emitents lēns vai nedarbojas
⇄Aizvietojošā apstiprināšana ieslēgta
•Ienākošie darījumi
Vadīklas
Katram serverim ir 32 savienojuma vietas. Pievienotie serveri startē 5 minūtes; katrs serveris tiek rēķināts, vai nu tas startē, vai ne.
Pieņem ne vairāk kā 90 % jaudas un uz pārpalikumu uzreiz atbild „mēģiniet vēlāk“, nevis ļauj tam stāties rindā un beigties ar gaidīšanas laiku.
Kā tirgotāji atkārto tehnisku kļūmi (līdz 3 reizēm). Nekavējoties = nākamās minūtes laikā; atlikšana = nejauša eksponenciāla atlikšana, vidējās aizkaves 1, 2 un 4 minūtes.
Darījumi ar vērtējumu, kas vienāds ar šo vai augstāks, tiek noraidīti. Vērtējumi ir izteikti īstās plūsmas standartnovirzēs: zemāks slieksnis nozīmē vairāk apturētu krāpšanu un vairāk noraidītu labu klientu.
Vērtējumi tik tālu zem sliekšņa saņem papildu klienta pārbaudi, nevis lēmumu: 85 % īstu klientu to izpilda, 5 % krāpnieku iztur. 0 = izslēgts.
Cik ilgi savienojuma vieta gaida emitenta atbildi. Pēc tam komutators nosūta atcelšanu un izmanto aizvietojošo apstiprināšanu (stand-in) vai noraida ar „emitents nav pieejams“.
Kad emitents laikā neatbild, komutators apstiprina tā vietā līdz šai summai. Katrs aizvietojošais apstiprinājums ir risks, ko emitents nekad nav pārbaudījis. 0 = izslēgts.
Rādītāji
Labo klientu apstiprināšanas īpatsvars
99,9%
normāls
Autorizācijas laiks
330ms
normāls
Krāpšanas līmenis (daļa no apstiprinātās summas)
10,4bp
normāls
Aizņemtās savienojuma vietas
69%
normāls
Apstiprināšanas īpatsvars, veseli emitenti
99,9 %
Labie klienti, ko noraidījis krāpšanas noteikums
1,3 ‰
Uz papildu apstiprināšanu nosūtītie darījumi
0,0 %
Apturētā krāpšana
31 %
Jauni darījumi
400 tx/s
Piedāvātā slodze (jauni + atkārtojumi)
400 tx/s
Atkārtojumi
0 tx/s
Noraidīti (atbilde „mēģiniet vēlāk“)
0 tx/s
Atmesti rindā
0,0 %
Emitentu gaidīšanas laika pārsniegumi
0,0 %
Aizvietojošie apstiprinājumi
0 tx/s
Darbojošies serveri
6
Startējošie serveri
0
Serveru izmaksu ātrums
36 u/h
Serveru izmaksas līdz šim
0 u
Aizvietojošās apstiprināšanas risks
0,00 M u
Apstiprinātā krāpšana līdz šim
0,00 M u
Zaudētie labie darījumi līdz šim
0,0 k tx
Darījumi, kas gaida atkārtošanu
0 tx
B grupas emitentu aizkave (vidējā)
250 ms
Tendence
Krīzes scenāriji
Līmenis 1 · Izpārdošanas plūsmas maksimums
5. minūtē sākas liela interneta izpārdošana un uz 45 minūtēm dubulto plūsmu līdz apmēram 800 darījumiem sekundē. Komutators darbina 6 serverus, kas aprēķināti parastai dienai ar apmēram 70 % noslodzi. Tirgotāji katru tehnisko kļūmi atkārto nekavējoties. Nodrošiniet labo klientu apstiprināšanu un ātras atbildes, nepērkot jaudu, kas nav vajadzīga.
Vidējais labo klientu apstiprināšanas īpatsvars ≥ 95 % no izpārdošanas sākuma
Vidējais autorizācijas laiks ≤ 500 ms
Serveru izmaksas ≤ 75 u
Līmenis 2 · Krāpšanas vilnis
5. minūtē tiek sākti izmantot nozagtu karšu dati: krāpšanas daļa plūsmā lec no 0,1 % uz 1 %. Noraidīšanas slieksnis ir iestatīts parastām dienām (3σ), un papildu apstiprināšana ir izslēgta. Samaziniet krāpšanas līmeni, neatraidot labos klientus.
Vidējais krāpšanas līmenis ≤ 25 bp
Vidējais labo klientu apstiprināšanas īpatsvars ≥ 98 %
Ar noteikumu noraidītie labie klienti ≤ 5 ‰
Līmenis 3 · Emitentu atteice
5. minūtē B grupas emitenti — ceturtā daļa no visas plūsmas — palēninās līdz 12 sekunžu vidējam atbildes laikam. Komutators gaida atbildi līdz 8 s, tam nav aizvietojošās apstiprināšanas, un tas darbina 6 serverus. Nodrošiniet veselo emitentu klientu plūsmu, apkalpojiet B grupu, cik droši iespējams, un noturiet aizvietojošās apstiprināšanas risku un izmaksas kontrolē.
Vidējais veselo emitentu klientu apstiprināšanas īpatsvars ≥ 90 %
Vidējais labo klientu apstiprināšanas īpatsvars ≥ 86 %
Aizvietojošās apstiprināšanas risks ≤ 9 M u
Serveru izmaksas ≤ 65 u
Pamats — modelis aiz skaitļiem
Katra simulatora izmantotā sakarība ar tās avotu. Konstantes, kas atzīmētas kā pieņēmumi, ir ilustratīvas kalibrācijas.
Jauni darījumi ierodas ar bāzes ātrumu × izpārdošanas pieaugums; darījumu skaits minūtē ir nejaušs (Puasona, normālā tuvinājums) ar nelielu uzliesmojumu raksturu.
λ(t) = base × surge(t) (2-min lag); count/min ≈ N(60λ, √(60λ)) × (1 + N(0, 0.03))[2]Pieņēmums: vietu skaits, apkalpošanas un emitenta laiki, vērtējumu nošķīrums, papildu apstiprināšanas izturēšanas daļas, veltīgi veikta darba daļa, summas un cenas ir ilustratīvas vērtības vidēja izmēra komutatoram, nevis kāda reāla tīkla skaitļi.
Binormāls krāpšanas vērtējums: īstie un krāpnieku vērtējumi ir divas normālas līknes d′ attālumā; slieksnis izvēlas punktu uz ROC līknes.
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]Pieņēmums: vietu skaits, apkalpošanas un emitenta laiki, vērtējumu nošķīrums, papildu apstiprināšanas izturēšanas daļas, veltīgi veikta darba daļa, summas un cenas ir ilustratīvas vērtības vidēja izmēra komutatoram, nevis kāda reāla tīkla skaitļi.
Izmaksu ziņā optimālais slieksnis: noraidīt, kad ticamības attiecība pārsniedz izmaksu attiecību, svērtu ar bāzes biežumu — desmitkārt vairāk krāpšanas to pazemina par ln 10 / d′ ≈ 0,9σ.
Papildu apstiprināšana: vērtējumi joslā zem sliekšņa tiek papildus pārbaudīti, nevis izlemti uzreiz.
scores in [t − b, t) are challenged: genuine pass 85 %, fraud pass 5 %; scores ≥ t declined[10]Pieņēmums: vietu skaits, apkalpošanas un emitenta laiki, vērtējumu nošķīrums, papildu apstiprināšanas izturēšanas daļas, veltīgi veikta darba daļa, summas un cenas ir ilustratīvas vērtības vidēja izmēra komutatoram, nevis kāda reāla tīkla skaitļi.
Emitenta aizkave ir eksponenciāla; vieta tiek aizņemta uz aizkaves vai gaidīšanas laika ilgumu, atkarībā no tā, kas ir īsāks.
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 likums: aizņemtās vietas = ienākšanas ātrums × aizņemšanas laiks.
Erlang C: varbūtība, ka darījums gaidīs brīvu vietu, un varbūtība, ka tas gaidīs ilgāk par 2 s rindas gaidīšanas laiku.
P(W > 2 s) = C(a, N)·e^(−(N/S − λ)·2 s), a = λS; mean wait = C / (N/S − λ)[1][2]
Pāri jaudai komutators tērē darbu arī pieprasījumiem, ko vēlāk atmet, tāpēc derīgā caurlaidība krītas, slodzei pieaugot; slodzes samazināšana pārpalikumu noraida lēti.
λ ≥ N/S: goodput = (N/S − ω·λ)/(1 − ω), ω = 0.3; load shedding admits ≤ 0.9·N/S and answers the rest at once[4][5]Pieņēmums: vietu skaits, apkalpošanas un emitenta laiki, vērtējumu nošķīrums, papildu apstiprināšanas izturēšanas daļas, veltīgi veikta darba daļa, summas un cenas ir ilustratīvas vērtības vidēja izmēra komutatoram, nevis kāda reāla tīkla skaitļi.
Klienta atkārtojumi: katra tehniskā kļūme tiek atkārtota līdz trīs reizēm — nekavējoties vai ar nejaušu eksponenciālu atlikšanu.
failed attempt → retry with p = 0.95, ≤ 3 retries; immediate: next minute; backoff: delay ~ Exp(mean 1, 2, 4 min)[4][5]Pieņēmums: vietu skaits, apkalpošanas un emitenta laiki, vērtējumu nošķīrums, papildu apstiprināšanas izturēšanas daļas, veltīgi veikta darba daļa, summas un cenas ir ilustratīvas vērtības vidēja izmēra komutatoram, nevis kāda reāla tīkla skaitļi.
Emitenta gaidīšanas laiks, atcelšana un aizvietojošā apstiprināšana: summas ir lognormālas, tāpēc daļa zem limita un apstiprinātais apjoms izriet no normālā sadalījuma funkcijas.
issuer timeout → reversal; stand-in approves if amount ≤ limit: P = Φ((ln L − μ)/σ), volume = e^(μ+σ²/2)·Φ((ln L − μ − σ²)/σ)[9][11]
Krāpšanas līmenis bāzes punktos no apstiprinātās summas; 13 bp izmanto kā atsauces mērogu maziem attālinātiem karšu maksājumiem.
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 timePieņēmums: vietu skaits, apkalpošanas un emitenta laiki, vērtējumu nošķīrums, papildu apstiprināšanas izturēšanas daļas, veltīgi veikta darba daļa, summas un cenas ir ilustratīvas vērtības vidēja izmēra komutatoram, nevis kāda reāla tīkla skaitļi.
Nejaušība: sēklas mulberry32 ģenerators; izmantotie sadalījumi — vienmērīgais, eksponenciālais (apgrieztā CDF), normālais (Box–Muller), Puasona (Knuth). Sēkla tiek rādīta un to var kopīgot.
M. Harchol-Balter — Performance Modeling and Design of Computer Systems: Queueing Theory in Action (M/M/k, capacity provisioning) — Cambridge University Press, 2013