第 1 級 · 促銷尖峰湧入
一場大型線上促銷在第 5 分鐘開始,流量加倍到每秒約 800 筆交易,持續 45 分鐘。交換機有 6 台伺服器,是依平常一天約 70 % 忙碌率配置的。商家遇到每一次技術性失敗都立即重試。請讓正常客戶保持核准、回應保持快速,同時不要購買不需要的容量。
- 促銷開始後正常客戶平均核准率 ≥ 95 %
- 平均授權時間 ≤ 500 ms
- 伺服器成本 ≤ 75 u
你在一個支付交換機的營運台工作,它位於商家與發卡行之間。每分鐘約有每秒 400 筆交易到達;每筆交易都要經過詐欺評分、等待空閒連線槽,再轉送給發卡行等候回應。模型依教科書公式計算排隊、逾時、用戶端重試、詐欺篩選的取捨與代行授權的風險暴露。金額以通用貨幣單位(u)表示。僅供教育模擬——並非財務、法律或投資建議。
每台伺服器有 32 個連線槽。新增的伺服器需要 5 分鐘啟動;不論是否已啟動完成,每台伺服器都會計費。
最多只接受容量的 90 %,並對超出的部分立即回覆「請稍後再試」,而不是任由它們排隊後逾時。
商家遇到技術性失敗時如何重試(最多重試 3 次)。立即 = 在下一分鐘內;退避 = 隨機化的指數退避,平均延遲為 1、2 與 4 分鐘。
分數等於或高於此值的交易會被拒絕。分數以真實交易流量的標準差為單位:越低表示攔下的詐欺越多,被拒絕的正常客戶也越多。
分數低於門檻、但在這個範圍內的交易,不直接決定,而是給予額外的客戶驗證挑戰:85 % 的真實客戶會完成,5 % 的詐欺者會通過。0 = 關閉。
一個連線槽等待發卡行回應的時間。超過後,交換機會送出沖正,並使用代行授權,或以「發卡行無法連線」拒絕交易。
當發卡行沒有及時回應時,交換機代替發卡行核准至這個金額為止。每一筆代行核准都是發卡行從未檢查過的風險暴露。0 = 關閉。
| 核准率,正常發卡行 | 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 |
一場大型線上促銷在第 5 分鐘開始,流量加倍到每秒約 800 筆交易,持續 45 分鐘。交換機有 6 台伺服器,是依平常一天約 70 % 忙碌率配置的。商家遇到每一次技術性失敗都立即重試。請讓正常客戶保持核准、回應保持快速,同時不要購買不需要的容量。
第 5 分鐘,一批被盜的卡片資料開始被使用:詐欺在流量中的占比從 0.1 % 跳升到 1 %。拒絕門檻是依平常日設定的(3σ),加強驗證則是關閉的。請降低詐欺率,同時不要拒絕正常客戶。
第 5 分鐘,B 群的發卡行——占全部流量的四分之一——的平均回應時間變慢到 12 秒。交換機最多等待 8 秒的回應,沒有代行授權,並運行著 6 台伺服器。請讓正常發卡行的客戶持續通行,在安全的範圍內盡量服務 B 群,並控制代行授權的風險暴露與成本。
模擬器使用的每一個關係式及其來源。標示為假設的常數是示意校準值。
λ(t) = base × surge(t) (2-min lag); count/min ≈ N(60λ, √(60λ)) × (1 + N(0, 0.03))[2]假設:連線槽數量、服務與發卡行時間、分數分離度、加強驗證通過率、浪費的工作比例、金額與價格,都是中型交換機的示意數值,並非任何實際網路的數據。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]假設:連線槽數量、服務與發卡行時間、分數分離度、加強驗證通過率、浪費的工作比例、金額與價格,都是中型交換機的示意數值,並非任何實際網路的數據。decline when e^(d′x − d′²/2) ≥ (1 − π)·c_FP / (π·c_FN) ⇒ t* = [ln((1 − π)c_FP/(π c_FN)) + d′²/2] / d′[8][7]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]busy slots = λ·S (Little) ⇒ utilization = λ·S / (32 × servers)[3]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]fraud rate = approved fraud amount / approved amount × 10,000 bp (reference scale: 13 bp)[10]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假設:連線槽數量、服務與發卡行時間、分數分離度、加強驗證通過率、浪費的工作比例、金額與價格,都是中型交換機的示意數值,並非任何實際網路的數據。隨機性:帶種子的 mulberry32 產生器;使用的分布包括均勻分布、指數分布(反 CDF)、常態分布(Box–Muller)與卜瓦松分布(Knuth)。種子會顯示出來,並且可以分享。
教育模型,不可用於實際營運決策。真實場域會依自己的設備與資料校準每一個常數。