Siz savdogarlar va karta emitentlari o‘rtasida turadigan to‘lov kommutatorining operatsiya bo‘limidasiz. Har daqiqada soniyasiga taxminan 400 ta tranzaksiya keladi; har biri firibgarlik bo‘yicha baholanadi, bo‘sh ulanish uyasini kutadi va javob uchun o‘z emitentiga yuboriladi. Model navbat, kutish muddatlari, mijozning qayta urinishlari, firibgarlik filtri kelishuvi va stand-in xavfini darslik formulalaridan hisoblaydi. Summalar umumiy pul birliklarida (u). Faqat o‘quv simulyatsiyasi — moliyaviy, huquqiy yoki investitsiya maslahati emas.
Nimani o‘rganasiz
Nega qayta urinishlar yuklanib ketgan kommutatorni, quvvat qo‘shilgandan keyin ham, retry storm ichida qulflab qo‘yishi mumkin — va yukni kamaytirish bu halqani qanday uzadi.
Firibgarlik bali chegarasi firibgarlik yo‘qotishlarini rad etilgan yaxshi mijozlar bilan qanday almashtiradi va nega to‘g‘ri chegara firibgarlikning bazaviy darajasiga bog‘liq.
Bitta sekin emitent har bir ulanish uyasini qanday to‘ldiradi (Little qonuni) va kutish muddatlari hamda stand-in qayta ishlash nimaga tushadi.
Simulyator
Vaqt 0 daq
▶Server xizmatda
⚙Server ishga tushmoqda
·Bo‘sh server rack o‘rni
✓Emitent odatdagidek javob bermoqda
⌛Emitent sekin yoki ishlamayapti
⇄Stand-in ishlov yoqilgan
•Kiruvchi tranzaksiyalar
Boshqaruvlar
Har bir serverda 32 ta ulanish uyasi bor. Qo‘shilgan serverlar 5 daqiqada ishga tushadi; har bir server, ishga tushayotgan bo‘lsa ham, hisobga yoziladi.
Sig‘imning ko‘pi bilan 90 % ini qabul qiladi va ortiqchasiga navbatda turib, kutish muddati tugashiga yo‘l qo‘ymasdan, darhol “keyinroq urinib ko‘ring” deb javob beradi.
Savdogarlar texnik nosozlikni qanday takrorlaydi (3 martagacha). Darhol = keyingi daqiqada; backoff = tasodifiylashtirilgan eksponensial backoff, o‘rtacha kechikishlar 1, 2 va 4 daqiqa.
Shu yoki undan yuqori ball olgan tranzaksiyalar rad etiladi. Ballar haqiqiy trafikning standart og‘ishlarida: pastroq — ko‘proq firibgarlik to‘xtatiladi va ko‘proq yaxshi mijoz rad etiladi.
Chegaradan shuncha past ball olganlarga qaror o‘rniga qo‘shimcha mijoz tekshiruvi beriladi: haqiqiy mijozlarning 85 % i uni bajaradi, firibgarlarning 5 % i o‘tadi. 0 = o‘chiq.
Ulanish uyasi emitentning javobini qancha kutadi. Shundan keyin kommutator reversal yuboradi va stand-in ishlatadi yoki “emitent mavjud emas” deb rad etadi.
Emitent o‘z vaqtida javob bermasa, kommutator uning nomidan shu summagacha tasdiqlaydi. Har bir stand-in tasdig‘i emitent hech qachon tekshirmagan xavfdir. 0 = o‘chiq.
Ko‘rsatkichlar
Yaxshi mijozlarni tasdiqlash darajasi
99,9%
normal
Avtorizatsiya vaqti
330ms
normal
Firibgarlik darajasi (tasdiqlangan summa ulushi)
10,4bp
normal
Band ulanish uyalari
69%
normal
Tasdiqlash darajasi, sog‘lom emitentlar
99,9 %
Firibgarlik qoidasi rad etgan yaxshi mijozlar
1,3 ‰
Step-up ga yuborilgan tranzaksiyalar
0,0 %
To‘xtatilgan firibgarlik
31 %
Yangi tranzaksiyalar
400 tx/s
Taklif etilgan yuk (yangi + qayta urinishlar)
400 tx/s
Qayta urinishlar
0 tx/s
Rad etilgan (“keyinroq” deb javob berilgan)
0 tx/s
Navbatda tashlab yuborilgan
0,0 %
Emitent kutish muddati tugashlari
0,0 %
Stand-in tasdiqlari
0 tx/s
Xizmatdagi serverlar
6
Ishga tushayotgan serverlar
0
Server xarajati tezligi
36 u/h
Hozirgacha server xarajati
0 u
Stand-in xavfi
0,00 M u
Hozirgacha tasdiqlangan firibgarlik
0,00 M u
Hozirgacha yo‘qotilgan yaxshi tranzaksiyalar
0,0 k tx
Qayta urinishni kutayotgan tranzaksiyalar
0 tx
B guruh emitentlari kechikishi (o‘rtacha)
250 ms
Tendensiya
Inqiroz ssenariylari
1-daraja · Savdo cho‘qqisidagi to‘lqin
5-daqiqada katta onlayn savdo boshlanadi va trafikni 45 daqiqaga soniyasiga taxminan 800 ta tranzaksiyagacha ikki baravar oshiradi. Kommutator 6 serverda ishlaydi, oddiy kun uchun taxminan 70 % bandlikka mo‘ljallangan. Savdogarlar har bir texnik nosozlikni darhol takrorlaydi. Yaxshi mijozlarni tasdiqlab turing va javoblarni tez saqlang, keraksiz quvvat sotib olmang.
Savdodan boshlab yaxshi mijozlarni o‘rtacha tasdiqlash ≥ 95 %
O‘rtacha avtorizatsiya vaqti ≤ 500 ms
Server xarajati ≤ 75 u
2-daraja · Firibgarlik to‘lqini
5-daqiqada o‘g‘irlangan karta ma’lumotlari partiyasi ishlatila boshlaydi: trafikdagi firibgarlik ulushi 0,1 % dan 1 % ga sakraydi. Rad etish chegarasi oddiy kunlar uchun belgilangan (3σ) va step-up o‘chiq. Yaxshi mijozlarni qaytarmasdan firibgarlik darajasini pasaytiring.
O‘rtacha firibgarlik darajasi ≤ 25 bp
Yaxshi mijozlarni o‘rtacha tasdiqlash ≥ 98 %
Qoida rad etgan yaxshi mijozlar ≤ 5 ‰
3-daraja · Emitent uzilishi
5-daqiqada B guruh emitentlari — barcha trafikning to‘rtdan biri — o‘rtacha 12 soniyalik javob vaqtigacha sekinlashadi. Kommutator javobni 8 s gacha kutadi, stand-in yo‘q va 6 serverda ishlaydi. Sog‘lom emitentlarning mijozlari oqimini davom ettiring, B guruhga xavfsiz bo‘lgan darajada xizmat qiling va stand-in xavfi hamda xarajatni nazoratda ushlang.
Sog‘lom emitent mijozlarini o‘rtacha tasdiqlash ≥ 90 %
Yaxshi mijozlarni o‘rtacha tasdiqlash ≥ 86 %
Stand-in xavfi ≤ 9 M u
Server xarajati ≤ 65 u
Asos — raqamlar ortidagi model
Simulyator ishlatadigan har bir bog‘lanish, manbasi bilan. Taxmin deb belgilangan doimiylar misol kalibrlashlardir.
Yangi tranzaksiyalar asosiy tezlik × savdo to‘lqini bilan keladi; daqiqalik soni tasodifiy (Puasson, normal yaqinlashuv) va ozgina to‘lqinsimon.
λ(t) = base × surge(t) (2-min lag); count/min ≈ N(60λ, √(60λ)) × (1 + N(0, 0.03))[2]Taxmin: uyalar soni, xizmat va emitent vaqtlari, ballar ajralishi, step-up o‘tish ulushi, behuda ish ulushi, summalar va narxlar o‘rta o‘lchamli kommutator uchun ko‘rsatma xarakteridagi qiymatlardir, biror haqiqiy tarmoqning ko‘rsatkichlari emas.
Binormal firibgarlik bali: haqiqiy va firibgarlik ballari d′ masofada joylashgan ikkita normal egri chiziq; chegara ROC egri chizig‘ida nuqtani tanlaydi.
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]Taxmin: uyalar soni, xizmat va emitent vaqtlari, ballar ajralishi, step-up o‘tish ulushi, behuda ish ulushi, summalar va narxlar o‘rta o‘lchamli kommutator uchun ko‘rsatma xarakteridagi qiymatlardir, biror haqiqiy tarmoqning ko‘rsatkichlari emas.
Xarajat bo‘yicha optimal chegara: ehtimollik nisbati bazaviy darajaga ko‘ra tortilgan xarajat nisbatidan oshganda rad eting — o‘n barobar ko‘p firibgarlik uni ln 10 / d′ ≈ 0,9σ ga pasaytiradi.
Step-up: chegaradan pastdagi diapazondagi ballar qaror qilinmasdan, tekshiruvdan o‘tkaziladi.
scores in [t − b, t) are challenged: genuine pass 85 %, fraud pass 5 %; scores ≥ t declined[10]Taxmin: uyalar soni, xizmat va emitent vaqtlari, ballar ajralishi, step-up o‘tish ulushi, behuda ish ulushi, summalar va narxlar o‘rta o‘lchamli kommutator uchun ko‘rsatma xarakteridagi qiymatlardir, biror haqiqiy tarmoqning ko‘rsatkichlari emas.
Emitent kechikishi eksponensial; uya kechikish yoki kutish muddati, qaysi biri avval kelsa, shuncha band qilinadi.
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 qonuni: band uyalar = kelish tezligi × ushlab turish vaqti.
P(W > 2 s) = C(a, N)·e^(−(N/S − λ)·2 s), a = λS; mean wait = C / (N/S − λ)[1][2]
Sig‘imdan oshganda kommutator keyin tashlab yuboradigan so‘rovlarga ham ish sarflaydi, shuning uchun yuk oshgan sayin foydali o‘tkazuvchanlik pasayadi; yukni kamaytirish ortiqchasini arzon rad etadi.
λ ≥ N/S: goodput = (N/S − ω·λ)/(1 − ω), ω = 0.3; load shedding admits ≤ 0.9·N/S and answers the rest at once[4][5]Taxmin: uyalar soni, xizmat va emitent vaqtlari, ballar ajralishi, step-up o‘tish ulushi, behuda ish ulushi, summalar va narxlar o‘rta o‘lchamli kommutator uchun ko‘rsatma xarakteridagi qiymatlardir, biror haqiqiy tarmoqning ko‘rsatkichlari emas.
Mijozning qayta urinishlari: har bir texnik nosozlik uch martagacha darhol yoki tasodifiylashtirilgan eksponensial backoff bilan qayta uriniladi.
failed attempt → retry with p = 0.95, ≤ 3 retries; immediate: next minute; backoff: delay ~ Exp(mean 1, 2, 4 min)[4][5]Taxmin: uyalar soni, xizmat va emitent vaqtlari, ballar ajralishi, step-up o‘tish ulushi, behuda ish ulushi, summalar va narxlar o‘rta o‘lchamli kommutator uchun ko‘rsatma xarakteridagi qiymatlardir, biror haqiqiy tarmoqning ko‘rsatkichlari emas.
Emitent kutish muddati, reversal va stand-in: summalar lognormal, shuning uchun chegaradan past ulush va tasdiqlangan hajm normal taqsimot funksiyasidan kelib chiqadi.
issuer timeout → reversal; stand-in approves if amount ≤ limit: P = Φ((ln L − μ)/σ), volume = e^(μ+σ²/2)·Φ((ln L − μ − σ²)/σ)[9][11]
Firibgarlik darajasi tasdiqlangan summaning bazis punktlarida; 13 bp kichik masofaviy karta to‘lovlari uchun mos yozuv shkalasi sifatida ishlatiladi.
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 timeTaxmin: uyalar soni, xizmat va emitent vaqtlari, ballar ajralishi, step-up o‘tish ulushi, behuda ish ulushi, summalar va narxlar o‘rta o‘lchamli kommutator uchun ko‘rsatma xarakteridagi qiymatlardir, biror haqiqiy tarmoqning ko‘rsatkichlari emas.
Tasodifiylik: seedli mulberry32 generatori; ishlatilgan taqsimotlar — tekis, eksponensial (teskari CDF), normal (Box–Muller), Puasson (Knuth). Seed ko‘rsatiladi va ulashiladi.
M. Harchol-Balter — Performance Modeling and Design of Computer Systems: Queueing Theory in Action (M/M/k, capacity provisioning) — Cambridge University Press, 2013