Сиз соодагерлер менен карт эмитенттеринин ортосунда турган төлөм коммутаторунун операциялык столунда иштейсиз. Ар бир мүнөттө секундасына болжол менен 400 транзакция келет; ар бири алдамчылыкка бааланат, бош туташуу слотун күтөт жана жооп алуу үчүн эмитентке жөнөтүлөт. Модель кезектерди, күтүү убакыттарын, кардардын кайталоолорун, алдамчылыкты текшерүүнүн компромисси жана орун басуучу бекитүүнүн тобокелдигин окуу китептериндеги формулалар боюнча эсептейт. Суммалар жалпы акча бирдиктеринде (u). Окутуу симуляциясы гана — бул каржылык, юридикалык же инвестициялык кеңеш эмес.
Эмнени үйрөнөсүз
Кайталоолор ашыкча жүктөлгөн коммутаторду кубаттуулук кошулгандан кийин да кайталоо бороонуна эмне үчүн камап коюшу мүмкүн — жана жүктөмдү азайтуу циклди кантип үзөт.
Алдамчылык баасынын босогосу алдамчылык жоготууларын четке кагылган жакшы кардарларга кантип алмаштырат жана туура босого алдамчылыктын базалык жыштыгына эмне үчүн көз каранды.
Бир жай эмитент бардык туташуу слотторун кантип толтурат (Литтл мыйзамы), жана күтүү убакыттары менен орун басуучу бекитүү канча турат.
Симулятор
Убакыт 0 мүн
▶Сервер иштеп жатат
⚙Сервер иштеп баштап жатат
·Сервердин бош стойка орду
✓Эмитент нормалдуу жооп берет
⌛Эмитент жай же иштебейт
⇄Орун басуучу бекитүү күйүк
•Кирүүчү транзакциялар
Башкаруу элементтери
Ар бир серверде 32 туташуу слоту бар. Кошулган серверлер 5 мүнөттө иштеп баштайт; ар бир сервер, баштап жатабы же жокпу, төлөнөт.
Кубаттуулуктун 90 % ынан көбүн кабыл албайт, ал эми ашыкчасын кезекке турууга жана күтүү убактысы бүтүп калууга калтырбай, дароо «кийинчерээк аракет кылыңыз» деп жооп берет.
Соодагерлер техникалык ката болгондо кантип кайталайт (3 кайталоого чейин). Дароо = кийинки мүнөттө; кечиктирүү = кокус экспоненциалдык кечиктирүү, орточо кечигүүлөр 1, 2 жана 4 мүнөт.
Баасы ушул босогого барабар же андан жогору транзакциялар четке кагылат. Баалар чыныгы трафиктин стандарттык четтөөлөрүндө берилет: төмөнкүсү алдамчылыктын көбү токтотулат жана жакшы кардарлардын көбү четке кагылат дегенди билдирет.
Босогодон ушунча төмөн баалар чечим эмес, кардардын кошумча текшерүүсүн алат: чыныгы кардарлардын 85 % ы аны өтөт, алдамчылардын 5 % ы өтөт. 0 = өчүк.
Туташуу слоту эмитенттин жообун канчага чейин күтөт. Андан кийин коммутатор жокко чыгарууну жөнөтөт жана орун басуучу бекитүүнү (stand-in) колдонот же «эмитент жеткиликсиз» деп четке кагат.
Эмитент убагында жооп бербегенде, коммутатор анын ордуна ушул суммага чейин бекитет. Ар бир орун басуучу бекитүү эмитент эч качан текшербеген тобокелдик. 0 = өчүк.
Көрсөткүчтөр
Жакшы кардарларды бекитүү үлүшү
99,9%
кадимки
Авторизация убактысы
330ms
кадимки
Алдамчылык деңгээли (бекитилген сумманын үлүшү)
10,4bp
кадимки
Ээленген туташуу слоттору
69%
кадимки
Бекитүү үлүшү, дени сак эмитенттер
99,9 %
Алдамчылык эрежеси четке каккан жакшы кардарлар
1,3 ‰
Кошумча текшерүүгө жөнөтүлгөн транзакциялар
0,0 %
Токтотулган алдамчылык
31 %
Жаңы транзакциялар
400 tx/s
Сунушталган жүктөм (жаңы + кайталоолор)
400 tx/s
Кайталоолор
0 tx/s
Четке кагылды («кийинчерээк» деп жооп берилди)
0 tx/s
Кезекте таштылды
0,0 %
Эмитенттердин күтүү убактысынын ашышы
0,0 %
Орун басуучу бекитүүлөр
0 tx/s
Иштеп жаткан серверлер
6
Иштеп баштап жаткан серверлер
0
Серверлердин баа ылдамдыгы
36 u/h
Серверлердин азырынча баасы
0 u
Орун басуучу бекитүү тобокелдиги
0,00 M u
Азырынча бекитилген алдамчылык
0,00 M u
Азырынча жоголгон жакшы транзакциялар
0,0 k tx
Кайталоону күткөн транзакциялар
0 tx
B тобундагы эмитенттердин кечигүүсү (орточо)
250 ms
Тренд
Кризис сценарийлери
1-деңгээл · Сатуунун трафик чокусу
5-мүнөттө чоң онлайн сатуу ачылат жана трафикти 45 мүнөткө болжол менен секундасына 800 транзакцияга чейин эки эсе көбөйтөт. Коммутатор 6 серверде иштейт, адаттагы күн үчүн болжол менен 70 % ээленүүгө эсептелген. Соодагерлер ар бир техникалык катаны дароо кайталайт. Жакшы кардарларды бекитип, жоопторду ылдам кармап туруңуз, керексиз кубаттуулук сатып албай.
Сатуу башталгандан бери жакшы кардарларды бекитүүнүн орточо үлүшү ≥ 95 %
Авторизациянын орточо убактысы ≤ 500 ms
Серверлердин баасы ≤ 75 u
2-деңгээл · Алдамчылык толкуну
5-мүнөттө уурдалган карт маалыматтары колдонула баштайт: трафиктеги алдамчылык үлүшү 0,1 % тен 1 % ке секирет. Четке кагуу босогосу адаттагы күндөр үчүн коюлган (3σ), жана кошумча текшерүү өчүк. Жакшы кардарларды четке какпай, алдамчылык деңгээлин төмөндөтүңүз.
Орточо алдамчылык деңгээли ≤ 25 bp
Жакшы кардарларды бекитүүнүн орточо үлүшү ≥ 98 %
Эреже менен четке кагылган жакшы кардарлар ≤ 5 ‰
3-деңгээл · Эмитенттердин бузулушу
5-мүнөттө B тобундагы эмитенттер — бардык трафиктин төрттөн бири — 12 секунддук орточо жооп убактысына чейин жайлайт. Коммутатор жоопту 8 с га чейин күтөт, орун басуучу бекитүүсү жок жана 6 серверде иштейт. Дени сак эмитенттердин кардарларын агымда кармаңыз, B тобун коопсуз болгон чейин тейлеңиз жана орун басуучу бекитүүнүн тобокелдигин жана чыгымын көзөмөлдө кармаңыз.
Дени сак эмитенттердин кардарлары үчүн орточо бекитүү ≥ 90 %
Жакшы кардарларды бекитүүнүн орточо үлүшү ≥ 86 %
Орун басуучу бекитүү тобокелдиги ≤ 9 M u
Серверлердин баасы ≤ 65 u
Негиз — сандардын артындагы модель
Симулятор колдонгон ар бир катыш өз булагы менен. Божомол деп белгиленген туруктуулар — көрсөтмө калибрлөөлөр.
Жаңы транзакциялар базалык ылдамдык × сатуу өсүшү менен келет; мүнөтүнө саны кокус (Пуассон, нормалдуу жакындатуу) жана бир аз бурганактуулук менен.
λ(t) = base × surge(t) (2-min lag); count/min ≈ N(60λ, √(60λ)) × (1 + N(0, 0.03))[2]Божомол: слоттордун саны, тейлөө жана эмитент убакыттары, баалардын бөлүнүшү, кошумча текшерүүдөн өтүү үлүштөрү, текке кеткен иштин үлүшү, суммалар жана баалар — орто өлчөмдөгү коммутатор үчүн иллюстративдик маанилер, кандайдыр бир чыныгы тармактын сандары эмес.
Бинормалдык алдамчылык баасы: чыныгы жана алдамчы баалар d′ аралыкта эки нормалдуу ийри сызык; босого 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]Божомол: слоттордун саны, тейлөө жана эмитент убакыттары, баалардын бөлүнүшү, кошумча текшерүүдөн өтүү үлүштөрү, текке кеткен иштин үлүшү, суммалар жана баалар — орто өлчөмдөгү коммутатор үчүн иллюстративдик маанилер, кандайдыр бир чыныгы тармактын сандары эмес.
Чыгым боюнча оптималдуу босого: ыктымалдык катышы базалык жыштык менен салмактанган чыгым катышынан ашканда четке кагуу — алдамчылык он эсе көп болгондо ал ln 10 / d′ ≈ 0,9σ төмөндөйт.
Кошумча текшерүү: босогодон төмөнкү тилкедеги баалар чечилбей, кошумча текшерүүгө жиберилет.
scores in [t − b, t) are challenged: genuine pass 85 %, fraud pass 5 %; scores ≥ t declined[10]Божомол: слоттордун саны, тейлөө жана эмитент убакыттары, баалардын бөлүнүшү, кошумча текшерүүдөн өтүү үлүштөрү, текке кеткен иштин үлүшү, суммалар жана баалар — орто өлчөмдөгү коммутатор үчүн иллюстративдик маанилер, кандайдыр бир чыныгы тармактын сандары эмес.
Эмитенттин кечигүүсү экспоненциалдуу; слот кечигүү же күтүү убактысынын кайсынысы эрте болсо, ошончо убакытка ээленет.
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]
Литтл мыйзамы: ээленген слоттор = келүү ылдамдыгы × кармоо убактысы.
Эрланг C: транзакция бош слотту күтүү ыктымалдыгы жана 2-секунддук кезек күтүү убактысынан узагыраак күтүү ыктымалдыгы.
P(W > 2 s) = C(a, N)·e^(−(N/S − λ)·2 s), a = λS; mean wait = C / (N/S − λ)[1][2]
Кубаттуулуктан ашканда коммутатор кийин таштай турган суроолорго да иш жумшайт, ошондуктан пайдалуу өткөрүү жүктөм өскөн сайын азаят; жүктөмдү азайтуу ашыкчасын арзан четке кагат.
λ ≥ N/S: goodput = (N/S − ω·λ)/(1 − ω), ω = 0.3; load shedding admits ≤ 0.9·N/S and answers the rest at once[4][5]Божомол: слоттордун саны, тейлөө жана эмитент убакыттары, баалардын бөлүнүшү, кошумча текшерүүдөн өтүү үлүштөрү, текке кеткен иштин үлүшү, суммалар жана баалар — орто өлчөмдөгү коммутатор үчүн иллюстративдик маанилер, кандайдыр бир чыныгы тармактын сандары эмес.
Кардардын кайталоолору: ар бир техникалык ката үч жолуга чейин кайталанат — дароо же кокус экспоненциалдык кечиктирүү менен.
failed attempt → retry with p = 0.95, ≤ 3 retries; immediate: next minute; backoff: delay ~ Exp(mean 1, 2, 4 min)[4][5]Божомол: слоттордун саны, тейлөө жана эмитент убакыттары, баалардын бөлүнүшү, кошумча текшерүүдөн өтүү үлүштөрү, текке кеткен иштин үлүшү, суммалар жана баалар — орто өлчөмдөгү коммутатор үчүн иллюстративдик маанилер, кандайдыр бир чыныгы тармактын сандары эмес.
Эмитенттин күтүү убактысы, жокко чыгаруу жана орун басуучу бекитүү: суммалар логнормалдуу, ошондуктан лимиттен төмөн үлүш жана бекитилген көлөм нормалдуу бөлүштүрүү функциясынан чыгат.
issuer timeout → reversal; stand-in approves if amount ≤ limit: P = Φ((ln L − μ)/σ), volume = e^(μ+σ²/2)·Φ((ln L − μ − σ²)/σ)[9][11]
Алдамчылык деңгээли бекитилген сумманын базистик пункттарында; 13 bp кичинекей аралыктан карт төлөмдөрү үчүн шилтеме шкаласы катары колдонулат.
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 timeБожомол: слоттордун саны, тейлөө жана эмитент убакыттары, баалардын бөлүнүшү, кошумча текшерүүдөн өтүү үлүштөрү, текке кеткен иштин үлүшү, суммалар жана баалар — орто өлчөмдөгү коммутатор үчүн иллюстративдик маанилер, кандайдыр бир чыныгы тармактын сандары эмес.
Кокустук: seed менен mulberry32 генератору; колдонулган бөлүштүрүүлөр — бирдей, экспоненциалдуу (тескери CDF), нормалдуу (Box–Muller), Пуассон (Knuth). Seed көрсөтүлөт жана аны бөлүшүүгө болот.
M. Harchol-Balter — Performance Modeling and Design of Computer Systems: Queueing Theory in Action (M/M/k, capacity provisioning) — Cambridge University Press, 2013