Сіз саудагерлер мен карта эмитенттері арасында тұрған төлем коммутаторының операциялық үстеліндесіз. Әр минут сайын секундына шамамен 400 транзакция келеді; әрқайсысына алаяқтық баллы беріледі, бос қосылым слотын күтеді және жауап алу үшін эмитентке жіберіледі. Модель кезектерді, тайм-ауттарды, клиент қайталауларын, алаяқтықты сүзу компромиссін және stand-in тәуекелін оқулық формулаларымен есептейді. Сомалар жалпы валюта бірліктерінде (u). Тек оқу симуляциясы — қаржылық, заңдық немесе инвестициялық кеңес емес.
Нені үйренесіз
Сыйымдылық қосылғаннан кейін де қайталаулар шамадан тыс жүктелген коммутаторды қайталау дауылына неге қамай алады — және жүктемені тастау бұл циклді қалай үзеді.
Алаяқтық баллының шегі алаяқтық шығындарын бас тартылған жақсы клиенттермен қалай алмастырады және дұрыс шек алаяқтықтың базалық деңгейіне неге тәуелді.
Бір баяу эмитент әр қосылым слотын қалай толтырады (Литтл заңы) және тайм-ауттар мен stand-in өңдеу не тұрады.
Симулятор
Уақыт 0 мин
▶Қызметтегі сервер
⚙Сервер іске қосылуда
·Бос сервер сөресінің орны
✓Эмитент қалыпты жауап береді
⌛Эмитент баяу немесе істен шыққан
⇄Stand-in өңдеу қосулы
•Кіріс транзакциялар
Басқару элементтері
Әр серверде 32 қосылым слоты бар. Қосылған серверлер іске қосылуға 5 минут алады; әр сервер үшін төленеді, іске қосылып жатса да, жатпаса да.
Сыйымдылықтың ең көбі 90 %-ын қабылдайды және артығына кезекте тұрып тайм-аутқа ұшырауға жол бермей, бірден «кейінірек қайталаңыз» деп жауап береді.
Саудагерлер техникалық ақауды қалай қайталайды (3 қайталауға дейін). Дереу = келесі минутта; backoff = кездейсоқтандырылған экспоненциалды backoff, орташа кідірістер 1, 2 және 4 минут.
Осы мәнге тең немесе одан жоғары балл жинаған транзакциялардан бас тартылады. Баллдар нағыз трафиктің стандартты ауытқуларымен берілген: төмен болса, алаяқтық көбірек тоқтатылады және жақсы клиенттерден көбірек бас тартылады.
Шектен осыншалықты төмен баллдар шешімнің орнына клиентке қосымша тексеру алады: нағыз клиенттердің 85 %-ы оны аяқтайды, алаяқтардың 5 %-ы өтеді. 0 = өшірулі.
Қосылым слоты эмитенттің жауабын қанша күтеді. Содан кейін коммутатор кері қайтару (reversal) жібереді және 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-минутта ашылады және трафикті 45 минутқа секундына шамамен 800 транзакцияға дейін екі есе арттырады. Коммутатор 6 серверде жұмыс істейді, қалыпты күні шамамен 70 % жүктелетіндей көлемде. Саудагерлер әр техникалық ақауды дереу қайталайды. Қажет емес сыйымдылықты сатып алмай, жақсы клиенттерді бекітілген және жауаптарды жылдам ұстаңыз.
Сатылым басталғаннан бастап жақсы клиенттердің орташа бекітілуі ≥ 95 %
Орташа авторизация уақыты ≤ 500 ms
Сервер шығыны ≤ 75 u
2-деңгей · Алаяқтық толқыны
5-минутта ұрланған карта деректерінің бір партиясы пайдаланыла бастайды: трафиктегі алаяқтық үлесі 0.1 %-дан 1 %-ға секіреді. Бас тарту шегі қалыпты күндерге қойылған (3σ), ал step-up өшірулі. Жақсы клиенттерді қайтармай, алаяқтық деңгейін төмендетіңіз.
Орташа алаяқтық деңгейі ≤ 25 bp
Жақсы клиенттердің орташа бекітілуі ≥ 98 %
Ережемен бас тартылған жақсы клиенттер ≤ 5 ‰
3-деңгей · Эмитент үзілісі
5-минутта B тобындағы эмитенттер — барлық трафиктің төрттен бірі — орташа жауап уақытын 12 секундқа дейін баяулатады. Коммутатор жауапты 8 с-қа дейін күтеді, 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]
Литтл заңы: бос емес слоттар = келу қарқыны × ұстау уақыты.
Эрланг 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 өту үлесі, босқа кеткен жұмыс үлесі, сомалар мен бағалар орташа көлемді коммутатор үшін түсіндірме мәндер, нақты желінің деректері емес.
Клиент қайталаулары: әр техникалық ақау үш рет дейін дереу немесе кездейсоқтандырылған экспоненциалды backoff-пен қайталанады.
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 өту үлесі, босқа кеткен жұмыс үлесі, сомалар мен бағалар орташа көлемді коммутатор үшін түсіндірме мәндер, нақты желінің деректері емес.
Кездейсоқтық: 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