GH GambleHub

Санҷиши сарборӣ ва профилҳои стресс

Хулосаи мухтасар

Санҷиши сарборӣ озмоиши системавии иҷро ва тобоварӣ дар сенарияҳои воқеӣ ва шадид мебошад. Асоси муваффақият: модели дурусти трафик (кушода ва пӯшида), SLO собит, метрикаи тоза (таъхири/интиқол/хатогиҳо/пуррагӣ), маълумоти намояндагӣ, автоматизатсия ва такрорӣ. Натиҷа "рақами RPS" нест, балки роҳи ҳалли он аст: мушкилот дар куҷоянд, арзиши иҷро чӣ қадар аст, ҳадди нокомӣ ва чӣ гуна ҳаракат кардани он.

SLO/SLI ва ченакҳои мақсаднок

SLO (мисол): p95 API ≤ 250 ms, p99 ≤ 600 ms; хато ≤ 0. 3 %/30 рӯз.
SLI: таъхир (p50/p95/p99), интиқол (RPS/CPS/QPS), пуррагӣ (CPU/heap/GC/FD/conn), ошиби (5xx, танаффус), охереди (умқ/қаър), DD В (қуфлҳо, дархостҳои суст), кеш (хит-таносуб).
Триггерҳои хатогӣ ва қаноатмандӣ (масалан, CPU> 75% ё чуқурии навбат> X → таназзул).

Намудҳои санҷишҳо

1. Baseline/Benchmark - хидмати ягона/нуқтаи ниҳоӣ, шароити "беҳтарин".
2. Бор кардан - воқеияти "рӯзи корӣ" + рама-боло/пандус-поён.
3. Стресс - сарбориро ба таназзул ва мустаҳкамкунии нуқта зиёд кунед.
4. Хӯша - ҷаҳиши тез (x2-x10 дар сонияҳо/дақиқаҳо).
5. Soak/Истодагарӣ - давомнокии дароз (8-72 соат): ихроҷи хотира, кашиши дермонӣ.
6. Иқтидор - Сарбории қадам барои каҷи кор ва банақшагирии қобилият.
7. Таназзул/Chaos-mix - сарборӣ + нокомии қисман (пойгоҳи додаҳои суст, тарки кэш, "шикаста").

Моделҳои ҳаракат: Кушода ва пӯшида

Модели кушода (барои Интернет воқеӣ аст): корбарон бо шиддатнокии λ меоянд (ҷараёни ба Пуассон монанд). Агар система суст шавад, дархостҳо ҷамъ мешаванд, на "яхкарда".
Модели пӯшида - шумораи муайяни корбарони маҷозӣ (VU) бо вақти фикрӣ. Вақте ки таъхир меафзояд, RPS ба таври сунъӣ меафтад - бодиққат бо хулоса.
Тавсия: барои API-ҳои пешина модели кушода (k6 'arrival-rate') -ро барои скриптҳои синхронии дохилӣ - якҷоя бо пӯшида истифода баред.

Профилҳои боркунӣ (қолабҳо)

"Рӯзи муқаррарӣ": заминаи ибтидоӣ + тағирёбии ҳаррӯза.
"Ҳодисаи қуллаҳо": 10-30 дақиқа пеш аз оғози (гармшавӣ), хӯшаҳои тез дар оғоз, плато, дум.
"Мусобиқа/ҷараён": қадамҳои зинапоя, қуллаҳои такрорӣ дар фосилаҳо.
"Таназзули инфрасохтор": нисфи кэш холӣ аст, як минтақа хомӯш аст, таъхири PSP меафзояд.
"Нокомӣ": ҳаракати нақлиёт ба муҳофизат дар 1-5 дақиқа; санҷиши тӯфонҳои миқёси худкор/HPA/Retry.

Маълумот дар бораи муҳити зист ва омодагӣ

Маълумоти санҷишӣ: кардиналии воқеӣ (провайдерҳо, асъорҳо, кишварҳо), майдонҳои ифлос, тақсимоти дархостҳо (Pareto/Zipf).
Асрҳо/PII: Анонимизатсия; калидҳо/PSP - қуттии қуттӣ.
Муҳити зист: истгоҳи perf, ҷудокунӣ аз ҳамгироӣ (масхара/стаб), версияҳои собит.
Мушоҳида: ченакҳо (Prometheus), гузоришҳо (Loki/ELK), пайҳо (OT bel). Дар посухҳо id-id-ро сабт кунед.

Бозёфтҳои зиддитеррористӣ ва Idempotence

Retrai танҳо барои амалиёти idempotent; маҷмӯи дубора-буҷет (масалан ≤ 10% трафик).
Бозгашти экспоненсиалӣ + ҷиттер; "пошхӯрӣ" GET-ҳои якхела.
Барои пардохтҳо - калидҳои idempotent ва ҳолати возеҳ.
Муҳофизат аз галаи раъд: қуфлҳои кэш, SWR, семафорҳои маҳаллӣ.

Асбобҳо ва намунаҳо

k6 (скрипт, модели кушода, ҳисоботи хуб), малах (скриптҳои Python), Gatling (Scala), JM eter (доираи васеи протоколҳо).
Протоколҳо: HTTP/1. 1/2/3, GRPC, Веб-Сокет, TCP/UDP; сервери тела "ҳамчун GET" -ро озмоиш намекунад.
Тавлиди трафик: миқёси уфуқии генераторҳо, назорати душвориҳои шабака.
Бартараф кардани профилҳо: хатсайрҳои pprof/async-profiler/ebpf дар зери сарборӣ, маршрутҳои OT bel.

Мини-мисоли k6 (модели кушода + хӯша):
javascript import http from 'k6/http';
import {check, sleep} from 'k6';

export const options = {
scenarios: {
warmup: { executor: 'ramping-arrival-rate', startRate: 50, timeUnit: '1s',
preAllocatedVUs: 200, stages: [ { target: 200, duration: '5m' } ] },
spike: { executor: 'constant-arrival-rate', rate: 1200, timeUnit: '1s',
preAllocatedVUs: 2000, startTime: '6m', duration: '3m' }
},
thresholds: {
http_req_failed: ['rate<0. 3%'],
http_req_duration: ['p(95)<250', 'p(99)<600']
}
};

export default function () {
const res = http. get(`${__ENV. BASE_URL}/api/v1/catalog? c=${Math. floor(Math. random()1000)}`);
check(res, { 'status is 200': (r) => r. status === 200 });
sleep(Math. random()0. 9) ;//think time (for closed parts of the script)
}

Тартиб

1. Гипотеза → кадом мушкилот (CPU, DB, кэш, шабака, TLS, GC).
2. Профил → сенарияҳо/хатсайрҳо, саҳмияҳои трафик, моделҳо (кушода/пӯшида), маълумот.
3. Гармкунӣ → кэш/пайвастшавӣ/TLS/тарҷумонҳо.
4. Баланд бардоштани марҳилаи → ба шиддатнокии ҳадаф.
5. Плато → ҷамъоварии ченакҳо ва пайҳои устувор.
6. Стресс/таназзул → ёфтани нуқтаи танаффус, мушоҳида кардани миқёси худкор.
7. Таҳлили → ченакҳои таносуб, фламеграф, ҳисобот ва нақшаи тағирот.
8. Repruf → тавассути қубури CI (Region Perf) такрор кунед.

Таҳлили натиҷаҳо

Пурборкунӣ → таъхир/хатогӣ: ҷустуҷӯи оринҷ (қобилият).
Таъхири тақсимшавӣ: шабака (DNS/TLS/connect), прокси, барнома, пойгоҳи додаҳо, зангҳои беруна.
Қаноатмандӣ: CPU> 75-85%, таваққуфи GC> p95, интизории I/O, навбати вазифа.
Тағйирпазирӣ: вақти реаксияи автоскале (HPA/KEDA), оғози хунук, гарм кардани кэш.
Арзиш: $/1000 RPS дар SLO мақсаднок, дурнамои баландтарин буҷа.

Амалияи муҳандисӣ

Нишондиҳандаҳои таназзул: "думҳо" p99, афзоиши навбат, паст шудани таносуб, афзоиши кӯшиши бозгашт.
Маҳдудиятҳоро истисно кунед: маҳдудиятҳои дескрипторҳои файл, sysctl, conn-pool, 'reuseport', занҷирҳои TLS, OCSP.
DB: индексатсияҳо/нақшаҳо/кэши дархостӣ, ҳавзи пайвастшавӣ, амалиёти партия, пуштибонии истеҳсолкунандагон.
Кэш: сиёсати андоза/хориҷкунӣ, калидҳои гарм, нусхабардорӣ.
Шабака/канор: HTTP/2/3, барқароршавӣ ≥ 70%, Brotli, калиди кэши CDN, сатҳҳои кэш.

Мушоҳида дар зери сарборӣ

Нишондиҳандаҳо: система (CPU/mem/IO), вақти корӣ (GC/heap), шабака (RTT/loss/ECN), L7 (p95/99, 5xx/429), навбатҳо, кластерҳои пойгоҳи додаҳо/кэш.
Роҳҳо: намунаҳоро дар "думҳо" (думҳо), нишонаҳои сохташуда/канарӣ дар бар мегиранд.
Сабтҳо: ҷамъбасти хатогиҳо бо маҳдудияти ҳаҷм (ба тавре ки "барои DOS ё" лӯлаи лӯла).
Таҷрибаҳо: парчамҳо ва конфигуратсияҳо бояд дар ҳисобот сабт карда шаванд.

Автоматика ва CI/CD

Корҳои перф дар СИ (дуд 3-5 дақиқа, шабона 30-60 дақиқа, шустушӯи ҳарҳафтаина).
Маҳдудиятҳои таҳаммулпазирӣ: дермонӣ/хатогиҳо/захираҳо → дар регрессия "шикастан".
Артефактҳо: графикҳо, фламеграфҳо, профилҳо, гузоришҳои JSON (k6/jtl).
Таҳрири маълумот ва скриптҳо, баррасии PR-скриптҳои perf.

IGaming/fintech мушаххас

Мусобиқаҳо/мусобиқаҳо: хӯша + плато; TLS/DNS/CDN гарм мешавад, маҳдудияти ҳавз, масирҳои хокистарӣ барои ботҳо.
Пардохтҳо/PSP: маҳдудиятҳои қуттии қуттӣ, номутобиқатӣ, танаффуси қатъӣ; санҷиши ҳолати таназзул (кэш директория, навбатҳо).
Jackpots/чорабиниҳо: атомизм ва пайдарҳамӣ, гирифта намешавад, ба RNG/тахтаҳои роҳбарикунанда бор кунед.
Анти-қаллобӣ/AML: сарборӣ ба қоидаҳо/баҳодиҳии ML, backpressure, deduplication ҳодиса.
Танзимкунанда: ченакҳои вуруд ва версияҳо дар қуллаҳо, ҳисоботҳо барои аудит.

Рӯйхати назоратӣ оғоз кунед

  • SLO/SLI собит ва хатҳои сурх (хатогӣ/ниҳонӣ/пуррагӣ).
  • Сенарияҳо ва профилҳои сарборӣ тасдиқ карда мешаванд (кушода/пӯшида, хӯша/шустан/стресс).
  • Маълумот воқеӣ, ниқоби PII, ҳамгироии регбокс/масхара.
  • Омодагии мушоҳида: ченакҳо/роҳҳо/гузоришҳо, барчаспҳо.
  • Конфигуратсияҳои система (ulimit/sysctl/ҳавзҳо) ҳуҷҷатгузорӣ карда мешаванд.
  • Нақшаи гармкунии худкор/кэш ва меъёрҳои бозгашт.
  • Ҳадди огоҳӣ ва нақшаи занг.
  • Қолаби ҳисоботӣ (диаграммаҳо, хулосаҳо, амалҳо) тартиб дода шудааст.

Хатогиҳои умумӣ

Озмоиши модели пӯшида натиҷаи "сабз" -ро ба бор меорад ва маҳсулот паст мешавад (шумо модели кушодро сарфи назар карда наметавонед).
Маълумоти ғайрирасмӣ (як асъор/як провайдер) → хулосаҳои бардурӯғ.
Омодасозии сифр: кэшҳои хунук/TLS/пайвастҳо → аз ҳад зиёд дар оғоз.
Ретраи бидуни маҳдудият → тӯфон ва каскад меафтад.
Ҳамон профилҳо барои ҳама хидматҳо → аз даст додани "нуқтаҳои гарм".
Набудани seak давида § ихроҷи хотира ва дрифт намоён нест.
Натиҷаҳои ношаффоф: ягон нишонаҳо/фламеграфҳо → наметавонанд мушкилотро пайдо кунанд.

Китобҳои бозикунии хурд

Муайян кардани нуқтаи бозист

1. Қадамҳои 10-20% сарборӣ ҳар 5-10 дақиқа. 2) Лаҳзаеро ислоҳ кунед, ки p95 якбора баланд мешавад ва хатогиҳо> SLO. 3) Нест кардани профилҳои CPU/DB/кэш. 4) Нақшаи оптимизатсия ва такрор.

Reining дар тӯфонҳои retray

1. Маҳдуд кардани буҷаи такрорӣ ва имкон додани бозгашт + jitter. 2) Ворид кардани дархост-пошхӯрӣ/SWR. 3) Иҷозат диҳед "ҳолати таназзул" (функсияи маҳдуд). 4) idempotency дукарата.

Чорабинии баландтарин (мусобиқа) - пеш аз нақша

1. CDN/DNS/TLS/ҳавзҳоро гарм кунед. 2) HPA-и мақсаднокро зиёд кунед, захира тайёр кунед. 3) Маҳдудиятҳои алоҳидаи ботҳо. 4) Панели авҷи режим, купруки иртиботии занг.

Шабонарӯз

1. 8-12 соат сарбории устувор. 2) Мониторинги тӯда/FD/conn/GC-таваққуф. 3) Дельта p95 ва таносуби хитро санҷед. 4) Ихроҷро ислоҳ кунед ва ғарқ кунед.

Натиҷа

Озмоиши сарборӣ як раванди қабули қарорҳои муҳандисӣ аст, на "мусобиқа барои RPS. "Профилҳои воқеии намунавӣ (хусусан модели кушода), SLO-ро сабт кунед, ченакҳо ва пайҳоро гиред, зонуи иҷроишро ҷустуҷӯ кунед ва арзиши иҷроишро ҳисоб кунед. Автоматӣ давида, ақибнишинии зидди тӯфонро нигоҳ доред ва рӯйдодҳои баландтаринро ба нақша гиред - ҳамин тавр платформа дар лаҳзаҳои стресс пешгӯишаванда ва устувор хоҳад буд.

Contact

Тамос гиред

Барои саволҳо е дастгирӣ ба мо муроҷиат кунед.Мо ҳамеша омодаем!

Telegram
@Gamble_GC
Оғози интегратсия

Email — муҳим аст. Telegram е WhatsApp — ихтиерӣ.

Номи шумо ихтиерӣ
Email ихтиерӣ
Мавзӯъ ихтиерӣ
Паем ихтиерӣ
Telegram ихтиерӣ
@
Агар Telegram нависед — ҷавобро ҳамон ҷо низ мегиред.
WhatsApp ихтиерӣ
Формат: рамзи кишвар + рақам (масалан, +992XXXXXXXXX).

Бо фиристодани форма шумо ба коркарди маълумот розӣ ҳастед.