Anda berada di meja operasi sebuah suis pembayaran yang terletak antara pedagang dan pengeluar kad. Setiap minit kira-kira 400 transaksi sesaat tiba; setiap satu dinilai untuk penipuan, menunggu slot sambungan kosong, dan dimajukan kepada pengeluarnya untuk jawapan. Model mengira baris gilir, tamat masa, cuba semula pelanggan, pertukaran tapisan penipuan dan pendedahan stand-in daripada formula buku teks. Amaun dalam unit mata wang generik (u). Simulasi pendidikan sahaja — bukan nasihat kewangan, undang-undang atau pelaburan.
Apa yang akan anda pelajari
Mengapa cuba semula boleh mengunci suis yang terlebih beban dalam ribut cuba semula walaupun selepas kapasiti ditambah — dan bagaimana pembuangan beban memutuskan gelung itu.
Bagaimana ambang skor penipuan menukar kerugian penipuan dengan pelanggan baik yang ditolak, dan mengapa ambang yang betul bergantung pada kadar asas penipuan.
Bagaimana satu pengeluar yang perlahan memenuhi setiap slot sambungan (hukum Little), dan apa kos tamat masa serta pemprosesan stand-in.
Simulator
Masa 0 min
▶Pelayan dalam perkhidmatan
⚙Pelayan sedang bermula
·Kedudukan rak pelayan kosong
✓Pengeluar menjawab seperti biasa
⌛Pengeluar perlahan atau tumbang
⇄Pemprosesan stand-in hidup
•Transaksi masuk
Kawalan
Setiap pelayan menampung 32 slot sambungan. Pelayan yang ditambah mengambil masa 5 minit untuk bermula; setiap pelayan dikenakan bayaran, sama ada sedang bermula atau tidak.
Menerima paling banyak 90 % kapasiti dan menjawab lebihan serta-merta dengan “cuba lagi kemudian”, dan bukannya membiarkannya beratur dan tamat masa.
Cara pedagang mencuba semula kegagalan teknikal (sehingga 3 kali cuba semula). Serta-merta = dalam minit berikutnya; backoff = backoff eksponen rawak, purata kelewatan 1, 2 dan 4 minit.
Transaksi yang mendapat skor pada atau melebihi ini ditolak. Skor dalam sisihan piawai trafik tulen: lebih rendah bermakna lebih banyak penipuan dihentikan dan lebih banyak pelanggan baik ditolak.
Skor sejauh ini di bawah ambang mendapat cabaran pelanggan tambahan sebagai ganti keputusan: 85 % pelanggan tulen melengkapkannya, 5 % penipu lulus. 0 = mati.
Berapa lama satu slot sambungan menunggu jawapan pengeluar. Selepas itu suis menghantar pembalikan (reversal) dan menggunakan stand-in, atau menolak “pengeluar tidak tersedia”.
Apabila pengeluar tidak menjawab tepat pada masanya, suis meluluskan bagi pihaknya sehingga amaun ini. Setiap kelulusan stand-in ialah pendedahan yang tidak pernah disemak pengeluar. 0 = mati.
Penunjuk
Kadar kelulusan pelanggan baik
99.9%
normal
Masa kebenaran
330ms
normal
Kadar penipuan (bahagian amaun diluluskan)
10.4bp
normal
Slot sambungan sibuk
69%
normal
Kadar kelulusan, pengeluar sihat
99.9 %
Pelanggan baik ditolak oleh peraturan penipuan
1.3 ‰
Transaksi dihantar ke step-up
0.0 %
Penipuan dihentikan
31 %
Transaksi baharu
400 tx/s
Beban ditawarkan (baharu + cuba semula)
400 tx/s
Cuba semula
0 tx/s
Ditolak (dijawab “cuba kemudian”)
0 tx/s
Digugurkan dalam baris gilir
0.0 %
Tamat masa pengeluar
0.0 %
Kelulusan stand-in
0 tx/s
Pelayan dalam perkhidmatan
6
Pelayan sedang bermula
0
Kadar kos pelayan
36 u/h
Kos pelayan setakat ini
0 u
Pendedahan stand-in
0.00 M u
Penipuan diluluskan setakat ini
0.00 M u
Transaksi baik hilang setakat ini
0.0 k tx
Transaksi menunggu cuba semula
0 tx
Kependaman kumpulan pengeluar B (purata)
250 ms
Aliran
Senario krisis
Tahap 1 · Lonjakan jualan puncak
Jualan dalam talian besar dibuka pada minit 5 dan menggandakan trafik kepada kira-kira 800 transaksi sesaat selama 45 minit. Suis menjalankan 6 pelayan, bersaiz untuk hari biasa pada kira-kira 70 % sibuk. Pedagang mencuba semula setiap kegagalan teknikal serta-merta. Pastikan pelanggan baik diluluskan dan jawapan cepat tanpa membeli kapasiti yang tidak anda perlukan.
Purata kelulusan pelanggan baik ≥ 95 % sejak jualan
Purata masa kebenaran ≤ 500 ms
Kos pelayan ≤ 75 u
Tahap 2 · Gelombang penipuan
Pada minit 5 sekumpulan butiran kad curi mula digunakan: bahagian penipuan trafik melonjak daripada 0.1 % kepada 1 %. Ambang penolakan ditetapkan untuk hari biasa (3σ) dan step-up dimatikan. Turunkan kadar penipuan tanpa menolak pelanggan baik.
Purata kadar penipuan ≤ 25 bp
Purata kelulusan pelanggan baik ≥ 98 %
Pelanggan baik ditolak oleh peraturan ≤ 5 ‰
Tahap 3 · Gangguan pengeluar
Pada minit 5 pengeluar kumpulan B — suku daripada semua trafik — menjadi perlahan kepada masa jawapan purata 12 saat. Suis menunggu sehingga 8 s untuk jawapan, tiada stand-in, dan menjalankan 6 pelayan. Pastikan pelanggan pengeluar yang sihat terus mengalir, layani kumpulan B sejauh yang anda boleh dengan selamat, dan kawal pendedahan stand-in serta kos.
Purata kelulusan untuk pelanggan pengeluar sihat ≥ 90 %
Purata kelulusan pelanggan baik ≥ 86 %
Pendedahan stand-in ≤ 9 M u
Kos pelayan ≤ 65 u
Asas — model di sebalik angka
Setiap hubungan yang digunakan simulator, beserta sumbernya. Pemalar yang ditandakan sebagai andaian ialah penentukuran ilustrasi.
Transaksi baharu tiba pada kadar asas darab lonjakan jualan; bilangan seminit adalah rawak (Poisson, penghampiran normal) dengan sedikit ledakan.
λ(t) = base × surge(t) (2-min lag); count/min ≈ N(60λ, √(60λ)) × (1 + N(0, 0.03))[2]Andaian: bilangan slot, masa perkhidmatan dan pengeluar, pemisahan skor, kadar lulus step-up, bahagian kerja sia-sia, amaun dan harga ialah nilai ilustrasi untuk suis bersaiz sederhana, bukan angka mana-mana rangkaian sebenar.
Skor penipuan binormal: skor tulen dan penipuan ialah dua lengkung normal berjarak d′; ambang memilih satu titik pada lengkung 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]Andaian: bilangan slot, masa perkhidmatan dan pengeluar, pemisahan skor, kadar lulus step-up, bahagian kerja sia-sia, amaun dan harga ialah nilai ilustrasi untuk suis bersaiz sederhana, bukan angka mana-mana rangkaian sebenar.
Ambang optimum kos: tolak apabila nisbah kebolehjadian melebihi nisbah kos yang dibebankan dengan kadar asas — penipuan sepuluh kali lebih banyak menganjakkannya ln 10 / d′ ≈ 0.9σ lebih rendah.
Step-up: skor dalam jalur di bawah ambang dicabar dan bukannya diputuskan.
scores in [t − b, t) are challenged: genuine pass 85 %, fraud pass 5 %; scores ≥ t declined[10]Andaian: bilangan slot, masa perkhidmatan dan pengeluar, pemisahan skor, kadar lulus step-up, bahagian kerja sia-sia, amaun dan harga ialah nilai ilustrasi untuk suis bersaiz sederhana, bukan angka mana-mana rangkaian sebenar.
Kependaman pengeluar adalah eksponen; slot ditahan untuk kependaman atau tamat masa, mana-mana yang tiba dahulu.
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]
Hukum Little: slot sibuk = kadar ketibaan × masa tahanan.
Erlang C: kebarangkalian transaksi menunggu slot kosong, dan kebarangkalian ia menunggu lebih lama daripada tamat masa baris gilir 2 s.
P(W > 2 s) = C(a, N)·e^(−(N/S − λ)·2 s), a = λS; mean wait = C / (N/S − λ)[1][2]
Melebihi kapasiti suis turut membelanjakan kerja pada permintaan yang kemudian digugurkannya, maka daya pemprosesan berguna jatuh apabila beban meningkat; pembuangan beban menolak lebihan dengan murah.
λ ≥ N/S: goodput = (N/S − ω·λ)/(1 − ω), ω = 0.3; load shedding admits ≤ 0.9·N/S and answers the rest at once[4][5]Andaian: bilangan slot, masa perkhidmatan dan pengeluar, pemisahan skor, kadar lulus step-up, bahagian kerja sia-sia, amaun dan harga ialah nilai ilustrasi untuk suis bersaiz sederhana, bukan angka mana-mana rangkaian sebenar.
Cuba semula pelanggan: setiap kegagalan teknikal dicuba semula sehingga tiga kali, serta-merta atau dengan backoff eksponen rawak.
failed attempt → retry with p = 0.95, ≤ 3 retries; immediate: next minute; backoff: delay ~ Exp(mean 1, 2, 4 min)[4][5]Andaian: bilangan slot, masa perkhidmatan dan pengeluar, pemisahan skor, kadar lulus step-up, bahagian kerja sia-sia, amaun dan harga ialah nilai ilustrasi untuk suis bersaiz sederhana, bukan angka mana-mana rangkaian sebenar.
Tamat masa pengeluar, pembalikan dan stand-in: amaun adalah lognormal, maka bahagian di bawah had dan volum yang diluluskan datang daripada CDF normal.
issuer timeout → reversal; stand-in approves if amount ≤ limit: P = Φ((ln L − μ)/σ), volume = e^(μ+σ²/2)·Φ((ln L − μ − σ²)/σ)[9][11]
Kadar penipuan dalam mata asas bagi amaun diluluskan; 13 bp digunakan sebagai skala rujukan untuk pembayaran kad jarak jauh bernilai kecil.
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 timeAndaian: bilangan slot, masa perkhidmatan dan pengeluar, pemisahan skor, kadar lulus step-up, bahagian kerja sia-sia, amaun dan harga ialah nilai ilustrasi untuk suis bersaiz sederhana, bukan angka mana-mana rangkaian sebenar.
Keberawakan: penjana mulberry32 berbenih; taburan yang digunakan — seragam, eksponen (CDF songsang), normal (Box–Muller), Poisson (Knuth). Benih dipaparkan dan boleh dikongsi.
M. Harchol-Balter — Performance Modeling and Design of Computer Systems: Queueing Theory in Action (M/M/k, capacity provisioning) — Cambridge University Press, 2013