Вие сте в оперативния център на платежен суич, който стои между търговци и издатели на карти. Всяка минута пристигат около 400 транзакции в секунда; всяка се оценява за измама, чака свободен слот за връзка и се препраща към своя издател за отговор. Моделът изчислява опашките, изтичането на времето, повторните опити на клиентите, компромиса при филтъра за измами и експозицията при stand-in по учебникарски формули. Сумите са в общи парични единици (u). Само образователна симулация — не е финансов, правен или инвестиционен съвет.
Какво ще научите
Защо повторните опити могат да заключат претоварен суич в буря от повторни опити дори след добавяне на капацитет — и как отхвърлянето на натоварване прекъсва кръга.
Как прагът на оценката за измама разменя загуби от измами срещу отказани добри клиенти и защо правилният праг зависи от базовия дял на измамите.
Как един бавен издател запълва всеки слот за връзка (законът на Литъл) и какво струват изтичането на времето и stand-in обработката.
Симулатор
Време 0 мин
▶Сървър в работа
⚙Сървърът стартира
·Свободно място за сървър в шкафа
✓Издателят отговаря нормално
⌛Издателят е бавен или недостъпен
⇄Stand-in обработката е включена
•Входящи транзакции
Управление
Всеки сървър има 32 слота за връзка. Добавените сървъри се стартират за 5 минути; всеки сървър се таксува, независимо дали стартира или не.
Приема най-много 90 % от капацитета и на излишъка отговаря веднага с „опитайте отново по-късно“, вместо да го оставя на опашка да изтече времето му.
Как търговците повтарят техническа грешка (до 3 повторни опита). Веднага = в следващата минута; backoff = случайно експоненциално изчакване, средни забавяния 1, 2 и 4 минути.
Транзакции с оценка на този праг или над него се отказват. Оценките са в стандартни отклонения на истинския трафик: по-ниско означава повече спрени измами и повече отказани добри клиенти.
Оценки толкова под прага получават допълнителна проверка на клиента вместо решение: 85 % от истинските клиенти я преминават, 5 % от измамниците я минават. 0 = изключено.
Колко дълго връзка (слот) чака отговора на издателя. След това суичът изпраща сторно и използва stand-in или отказва с „издателят не е достъпен“.
Когато издателят не отговори навреме, суичът одобрява от негово име до тази сума. Всяко stand-in одобрение е експозиция, която издателят никога не е проверявал. 0 = изключено.
Показатели
Дял на одобрените добри клиенти
99,9%
нормално
Време за авторизация
330ms
нормално
Дял на измамите (от одобрената сума)
10,4bp
нормално
Заети слотове за връзка
69%
нормално
Дял на одобрените, здрави издатели
99,9 %
Добри клиенти, отказани от правилото за измами
1,3 ‰
Транзакции, изпратени на step-up
0,0 %
Спрени измами
31 %
Нови транзакции
400 tx/s
Предложено натоварване (нови + повторни)
400 tx/s
Повторни опити
0 tx/s
Отхвърлени (отговор „опитайте по-късно“)
0 tx/s
Отпаднали в опашката
0,0 %
Изтичания на времето на издателя
0,0 %
Stand-in одобрения
0 tx/s
Сървъри в работа
6
Сървъри в стартиране
0
Темп на разхода за сървъри
36 u/h
Разход за сървъри досега
0 u
Експозиция при stand-in
0,00 M u
Одобрени измами досега
0,00 M u
Загубени добри транзакции досега
0,0 k tx
Транзакции, чакащи повторен опит
0 tx
Забавяне на издатели група B (средно)
250 ms
Тенденция
Кризисни сценарии
Ниво 1 · Пик на разпродажба
Голяма онлайн разпродажба започва в минута 5 и удвоява трафика до около 800 транзакции в секунда за 45 минути. Суичът работи с 6 сървъра, оразмерени за нормален ден при около 70 % натоварване. Търговците повтарят всяка техническа грешка веднага. Дръжте добрите клиенти одобрявани и отговорите бързи, без да купувате капацитет, който не ви трябва.
Средно одобрение на добри клиенти ≥ 95 % от началото на разпродажбата
Средно време за авторизация ≤ 500 ms
Разход за сървъри ≤ 75 u
Ниво 2 · Вълна от измами
В минута 5 започва използването на партида откраднати данни за карти: делът на измамите в трафика скача от 0,1 % на 1 %. Прагът за отказ е настроен за нормални дни (3σ), а step-up е изключен. Намалете дела на измамите, без да отказвате добри клиенти.
Среден дял на измамите ≤ 25 bp
Средно одобрение на добри клиенти ≥ 98 %
Добри клиенти, отказани от правилото ≤ 5 ‰
Ниво 3 · Срив на издател
В минута 5 издателите от група B — една четвърт от целия трафик — се забавят до средно време за отговор 12 секунди. Суичът чака до 8 s за отговор, няма stand-in и работи с 6 сървъра. Поддържайте потока на клиентите на здравите издатели, обслужвайте група B доколкото безопасно можете и дръжте под контрол експозицията при stand-in и разхода.
Средно одобрение за клиентите на здравите издатели ≥ 90 %
Средно одобрение на добри клиенти ≥ 86 %
Експозиция при stand-in ≤ 9 M u
Разход за сървъри ≤ 65 u
Основа — моделът зад числата
Всяка зависимост, която симулаторът използва, с нейния източник. Константите, отбелязани като допускания, са илюстративни калибрации.
Новите транзакции пристигат с базов темп, умножен по скока от разпродажбата; броят за минута е случаен (Поасон, нормално приближение) с малко пакетност.
λ(t) = base × surge(t) (2-min lag); count/min ≈ N(60λ, √(60λ)) × (1 + N(0, 0.03))[2]Допускане: броят слотове, времената за обслужване и на издателя, разделянето на оценките, процентите на преминаване на step-up, делът на напразната работа, сумите и цените са илюстративни стойности за суич със среден размер, а не данни на реална мрежа.
Бинормална оценка за измама: оценките на истинските и на измамните транзакции са две нормални криви на разстояние 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]Допускане: броят слотове, времената за обслужване и на издателя, разделянето на оценките, процентите на преминаване на step-up, делът на напразната работа, сумите и цените са илюстративни стойности за суич със среден размер, а не данни на реална мрежа.
Икономически оптимален праг: отказвай, когато отношението на правдоподобие надхвърли отношението на разходите, претеглено с базовия дял — десет пъти повече измами го преместват с ln 10 / d′ ≈ 0,9σ надолу.
Step-up: оценките в зоната под прага се проверяват допълнително вместо да се решава веднага.
scores in [t − b, t) are challenged: genuine pass 85 %, fraud pass 5 %; scores ≥ t declined[10]Допускане: броят слотове, времената за обслужване и на издателя, разделянето на оценките, процентите на преминаване на step-up, делът на напразната работа, сумите и цените са илюстративни стойности за суич със среден размер, а не данни на реална мрежа.
Забавянето на издателя е експоненциално; слотът се държи за забавянето или за изтичането на времето, което настъпи първо.
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: вероятността транзакция да чака свободен слот и вероятността да чака по-дълго от 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]Допускане: броят слотове, времената за обслужване и на издателя, разделянето на оценките, процентите на преминаване на step-up, делът на напразната работа, сумите и цените са илюстративни стойности за суич със среден размер, а не данни на реална мрежа.
Повторни опити на клиента: всяка техническа грешка се повтаря до три пъти, веднага или със случайно експоненциално изчакване.
failed attempt → retry with p = 0.95, ≤ 3 retries; immediate: next minute; backoff: delay ~ Exp(mean 1, 2, 4 min)[4][5]Допускане: броят слотове, времената за обслужване и на издателя, разделянето на оценките, процентите на преминаване на step-up, делът на напразната работа, сумите и цените са илюстративни стойности за суич със среден размер, а не данни на реална мрежа.
Изтичане на времето на издателя, сторно и stand-in: сумите са лог-нормални, така че делът под лимита и одобреният обем следват от нормалната CDF.
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Допускане: броят слотове, времената за обслужване и на издателя, разделянето на оценките, процентите на преминаване на step-up, делът на напразната работа, сумите и цените са илюстративни стойности за суич със среден размер, а не данни на реална мрежа.
Случайност: генератор mulberry32 със seed; използвани разпределения — равномерно, експоненциално (обратна 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