Olet kauppiaiden ja korttien myöntäjien välissä olevan maksukytkimen operaatiopöydässä. Joka minuutti saapuu noin 400 tapahtumaa sekunnissa; jokaiselle lasketaan petospisteet, se odottaa vapaata yhteyspaikkaa ja välitetään kortinmyöntäjälle vastausta varten. Malli laskee jonotuksen, aikakatkaisut, asiakkaiden uudelleenyritykset, petosseulan kompromissin ja varahyväksynnän riskin oppikirjakaavoilla. Summat ovat yleisinä rahayksikköinä (u). Vain opetussimulaatio — ei rahoitus-, oikeudellista tai sijoitusneuvontaa.
Mitä opit
Miksi uudelleenyritykset voivat lukita ylikuormitetun kytkimen uudelleenyritysmyrskyyn vielä kapasiteetin lisäämisen jälkeenkin — ja miten kuormanpudotus rikkoo kehän.
Miten petospisteiden kynnys tasapainottaa petostappiot ja hylätyt hyvät asiakkaat, ja miksi oikea kynnys riippuu petosten perustasosta.
Miten yksi hidas kortinmyöntäjä täyttää kaikki yhteyspaikat (Littlen laki), ja mitä aikakatkaisut ja varahyväksyntä maksavat.
Simulaattori
Aika 0 min
▶Palvelin käytössä
⚙Palvelin käynnistyy
·Vapaa palvelinkaapin paikka
✓Kortinmyöntäjä vastaa normaalisti
⌛Kortinmyöntäjä hidas tai alhaalla
⇄Varahyväksyntä päällä
•Saapuvat tapahtumat
Säätimet
Jokaisessa palvelimessa on 32 yhteyspaikkaa. Lisätyt palvelimet käynnistyvät 5 minuutissa; jokaisesta palvelimesta laskutetaan, käynnistyi se tai ei.
Päästää sisään enintään 90 % kapasiteetista ja vastaa ylimäärään heti ”yritä myöhemmin” sen sijaan, että antaisi sen jonottaa ja aikakatkaistua.
Miten kauppiaat yrittävät uudelleen teknisen virheen jälkeen (enintään 3 uudelleenyritystä). Heti = seuraavan minuutin aikana; porrastettu viive = satunnaistettu eksponentiaalinen viive, keskimääräiset viiveet 1, 2 ja 4 minuuttia.
Tapahtumat, joiden pisteet ovat tämän verran tai enemmän, hylätään. Pisteet ovat aidon liikenteen keskihajontoina: matalampi tarkoittaa enemmän pysäytettyä petosta ja enemmän hylättyjä hyviä asiakkaita.
Näin kaukana kynnyksen alapuolella olevat pisteet saavat päätöksen sijaan ylimääräisen asiakashaasteen: 85 % aidoista asiakkaista suorittaa sen, 5 % petoksentekijöistä läpäisee. 0 = pois.
Kuinka kauan yhteyspaikka odottaa kortinmyöntäjän vastausta. Sen jälkeen kytkin lähettää peruutuksen ja käyttää varahyväksyntää (stand-in) tai hylkää syyllä ”kortinmyöntäjä ei ole tavoitettavissa”.
Kun kortinmyöntäjä ei vastaa ajoissa, kytkin hyväksyy sen puolesta tähän summaan asti. Jokainen varahyväksyntä on riski, jota kortinmyöntäjä ei ole koskaan tarkistanut. 0 = pois.
Mittarit
Hyvien asiakkaiden hyväksymisaste
99,9%
normaali
Valtuutusaika
330ms
normaali
Petosaste (osuus hyväksytystä summasta)
10,4bp
normaali
Yhteyspaikat varattuina
69%
normaali
Hyväksymisaste, terveet kortinmyöntäjät
99,9 %
Petossäännön hylkäämät hyvät asiakkaat
1,3 ‰
Vahvennettuun tunnistukseen ohjatut tapahtumat
0,0 %
Pysäytetty petos
31 %
Uudet tapahtumat
400 tx/s
Tarjottu kuorma (uudet + uudelleenyritykset)
400 tx/s
Uudelleenyritykset
0 tx/s
Pudotettu (vastattu ”yritä myöhemmin”)
0 tx/s
Pudonneet jonossa
0,0 %
Kortinmyöntäjien aikakatkaisut
0,0 %
Varahyväksynnät
0 tx/s
Palvelimet käytössä
6
Käynnistyvät palvelimet
0
Palvelinkustannus aikayksikköä kohti
36 u/h
Palvelinkustannus toistaiseksi
0 u
Varahyväksynnän riski
0,00 M u
Hyväksytty petos toistaiseksi
0,00 M u
Menetetyt hyvät tapahtumat toistaiseksi
0,0 k tx
Uudelleenyritystä odottavat tapahtumat
0 tx
Kortinmyöntäjäryhmän B viive (keskiarvo)
250 ms
Trendi
Kriisiskenaariot
Taso 1 · Alennusmyynnin ruuhkahuippu
Suuri verkkoalennusmyynti alkaa minuutilla 5 ja kaksinkertaistaa liikenteen noin 800 tapahtumaan sekunnissa 45 minuutiksi. Kytkin pyörii 6 palvelimella, mitoitettuna tavalliselle päivälle noin 70 %:n kuormituksella. Kauppiaat yrittävät jokaista teknistä virhettä uudelleen heti. Pidä hyvät asiakkaat hyväksyttyinä ja vastaukset nopeina ostamatta tarpeetonta kapasiteettia.
Hyvien asiakkaiden keskimääräinen hyväksymisaste ≥ 95 % alennusmyynnin alusta
Keskimääräinen valtuutusaika ≤ 500 ms
Palvelinkustannus ≤ 75 u
Taso 2 · Petosaalto
Minuutilla 5 alkaa varastettujen korttitietojen erän käyttö: petosten osuus liikenteestä hyppää 0,1 %:sta 1 %:iin. Hylkäyskynnys on asetettu tavallisille päiville (3σ), ja vahvennettu tunnistus on pois päältä. Laske petosastetta hylkäämättä hyviä asiakkaita.
Keskimääräinen petosaste ≤ 25 bp
Hyvien asiakkaiden keskimääräinen hyväksymisaste ≥ 98 %
Säännön hylkäämät hyvät asiakkaat ≤ 5 ‰
Taso 3 · Kortinmyöntäjien katko
Minuutilla 5 ryhmän B kortinmyöntäjät — neljännes koko liikenteestä — hidastuvat 12 sekunnin keskimääräiseen vastausaikaan. Kytkin odottaa vastausta enintään 8 s, sillä ei ole varahyväksyntää ja se pyörii 6 palvelimella. Pidä terveiden kortinmyöntäjien asiakkaat liikkeessä, palvele ryhmää B niin pitkälle kuin turvallisesti pystyt ja pidä varahyväksynnän riski ja kustannukset kurissa.
Terveiden kortinmyöntäjien asiakkaiden keskimääräinen hyväksymisaste ≥ 90 %
Hyvien asiakkaiden keskimääräinen hyväksymisaste ≥ 86 %
Varahyväksynnän riski ≤ 9 M u
Palvelinkustannus ≤ 65 u
Perusta — lukujen takana oleva malli
Kaikki simulaattorin käyttämät yhteydet lähteineen. Oletuksiksi merkityt vakiot ovat havainnollistavia kalibrointeja.
Uudet tapahtumat saapuvat perusnopeudella kertaa alennusmyynnin ruuhka; minuuttikohtainen määrä on satunnainen (Poisson, normaaliapproksimaatio) ja hieman purskeinen.
λ(t) = base × surge(t) (2-min lag); count/min ≈ N(60λ, √(60λ)) × (1 + N(0, 0.03))[2]Oletus: yhteyspaikkojen määrät, palvelu- ja kortinmyöntäjäajat, pisteiden erottuvuus, vahvennetun tunnistuksen läpäisyasteet, hukkatyön osuus, summat ja hinnat ovat havainnollistavia arvoja keskikokoiselle kytkimelle, eivät minkään todellisen verkon lukuja.
Binormaalinen petospiste: aitojen ja petosten pisteet ovat kaksi normaalikäyrää d′:n päässä toisistaan; kynnys valitsee pisteen ROC-käyrältä.
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]Oletus: yhteyspaikkojen määrät, palvelu- ja kortinmyöntäjäajat, pisteiden erottuvuus, vahvennetun tunnistuksen läpäisyasteet, hukkatyön osuus, summat ja hinnat ovat havainnollistavia arvoja keskikokoiselle kytkimelle, eivät minkään todellisen verkon lukuja.
Kustannusoptimaalinen kynnys: hylkää, kun uskottavuusosamäärä ylittää kustannussuhteen perustason mukaan painotettuna — kymmenen kertaa enemmän petoksia siirtää sitä ln 10 / d′ ≈ 0,9σ alemmas.
Vahvennettu tunnistus: kynnyksen alapuolella kaistalla olevia pisteitä haastetaan päättämisen sijaan.
scores in [t − b, t) are challenged: genuine pass 85 %, fraud pass 5 %; scores ≥ t declined[10]Oletus: yhteyspaikkojen määrät, palvelu- ja kortinmyöntäjäajat, pisteiden erottuvuus, vahvennetun tunnistuksen läpäisyasteet, hukkatyön osuus, summat ja hinnat ovat havainnollistavia arvoja keskikokoiselle kytkimelle, eivät minkään todellisen verkon lukuja.
Kortinmyöntäjän viive on eksponentiaalinen; yhteyspaikka on varattu viiveen tai aikakatkaisun ajan, kumpi tulee ensin.
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]
Erlang C: todennäköisyys, että tapahtuma odottaa vapaata yhteyspaikkaa, ja todennäköisyys, että se odottaa pidempään kuin 2 s:n jonon aikakatkaisu.
P(W > 2 s) = C(a, N)·e^(−(N/S − λ)·2 s), a = λS; mean wait = C / (N/S − λ)[1][2]
Kapasiteetin yli kytkin tekee työtä myös pyyntöihin, jotka se hylkää myöhemmin, joten hyödyllinen läpimeno laskee kuorman kasvaessa; kuormanpudotus kieltäytyy ylimäärästä halvalla.
λ ≥ N/S: goodput = (N/S − ω·λ)/(1 − ω), ω = 0.3; load shedding admits ≤ 0.9·N/S and answers the rest at once[4][5]Oletus: yhteyspaikkojen määrät, palvelu- ja kortinmyöntäjäajat, pisteiden erottuvuus, vahvennetun tunnistuksen läpäisyasteet, hukkatyön osuus, summat ja hinnat ovat havainnollistavia arvoja keskikokoiselle kytkimelle, eivät minkään todellisen verkon lukuja.
Asiakkaan uudelleenyritykset: jokaista teknistä virhettä yritetään uudelleen enintään kolme kertaa, heti tai satunnaistetulla eksponentiaalisella viiveellä.
failed attempt → retry with p = 0.95, ≤ 3 retries; immediate: next minute; backoff: delay ~ Exp(mean 1, 2, 4 min)[4][5]Oletus: yhteyspaikkojen määrät, palvelu- ja kortinmyöntäjäajat, pisteiden erottuvuus, vahvennetun tunnistuksen läpäisyasteet, hukkatyön osuus, summat ja hinnat ovat havainnollistavia arvoja keskikokoiselle kytkimelle, eivät minkään todellisen verkon lukuja.
Kortinmyöntäjän aikakatkaisu, peruutus ja varahyväksyntä: summat ovat lognormaaleja, joten rajan alle jäävä osuus ja hyväksytty volyymi seuraavat normaalijakauman kertymäfunktiosta.
issuer timeout → reversal; stand-in approves if amount ≤ limit: P = Φ((ln L − μ)/σ), volume = e^(μ+σ²/2)·Φ((ln L − μ − σ²)/σ)[9][11]
Petosaste peruspisteinä hyväksytystä summasta; 13 bp on viiteasteikko pienille etämaksuille kortilla.
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 timeOletus: yhteyspaikkojen määrät, palvelu- ja kortinmyöntäjäajat, pisteiden erottuvuus, vahvennetun tunnistuksen läpäisyasteet, hukkatyön osuus, summat ja hinnat ovat havainnollistavia arvoja keskikokoiselle kytkimelle, eivät minkään todellisen verkon lukuja.
Satunnaisuus: siemenellä alustettu mulberry32-generaattori; käytetyt jakaumat — tasainen, eksponentiaalinen (käänteinen kertymäfunktio), normaali (Box–Muller), Poisson (Knuth). Siemen näytetään ja se on jaettavissa.
M. Harchol-Balter — Performance Modeling and Design of Computer Systems: Queueing Theory in Action (M/M/k, capacity provisioning) — Cambridge University Press, 2013