GH GambleHub

Муқоиса ва муқоисаи иҷро

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

Benchmarking як озмоиш аст, на "корвони давида барои 5 дақиқа. "Принсипҳои асосӣ:

1. Гипотеза ва ченакҳоро таҳия кунед.

2. Тағйирёбандаҳои назоратӣ (сахтафзор, аслӣ, қудрат, садои пасзамина).

3. Ҷамъоварии маълумоти кофӣ (нусхаҳо, фосилаҳои эътимод).

4. Профилактика кунед - бе он шумо "чаро" -ро намефаҳмед.

5. Repro: скриптҳо, ислоҳи версияҳо ва артефактҳо.

Ҳадафҳои нишондиҳанда ва нишондиҳандаҳои тиҷорат

Интиқол: RPS/QPS/CPS, менависад/sec

Таъхир: зичии p50/p95/p99/дум.
Самаранокӣ: Cost-per-1k RPS, ватт барои як транзаксия, такмили $/миллисекунд.
Устуворӣ: ҷиттер, тағйирпазирии байнишаҳрӣ/гиреҳ.
Тағйирпазирӣ: чӣ гуна нишондиҳандаҳо дар захираи N × (нишондиҳандаҳои Амдал/Густафсон).

Методология: тарҳи таҷрибавӣ

Гипотеза: "Фиристодаи бо HTTP/3 p95 TTFB-ро бо ҳамон RPS 10-15% кам мекунад".
Воҳиди муқоиса: сохтани/config/нусхаи оҳан.
Диаграммаи A/B: параллелӣ дар муҳити шабеҳ; ё ABAB/майдони лотинӣ барои коҳиш додани таъсири дрифт.
Шумораи такрори: ≥ 10 кӯтоҳ + 3 дарозии як конфигуратсия барои рейтингҳои устувор.
Омор: миёнаравӣ, MAD, фосилаҳои эътимоднокии боркунӣ; озмоишҳои ғайриметрикӣ (Манн-Уитни) барои тақсимоти "дум".
Оё (ҳадди аққал): Як тағирёбандаро дар як вақт (OVAT) ё омили омилиро барои 2-3 омил иваз кунед (масалан, профили TLS × нусхаи HTTP × ядро).

Назорати тағйирёбанда ва садо

Губернатори CPU: 'иҷро'; хомӯш кардани "захираи барқ".
Турбо/Тротлинг: басомадҳои мониторинг, ҳарорат ва дросслинг (вагарна гарм кардан бурди бардурӯғ медиҳад).
NUMA/Hyper-Threading: pin IRQ ва равандҳо ('taskset/numactl'), ҷойгиршавии хотираро чен кунед.
Тавозуни C-давлатҳо/IRQ: танзимотро ислоҳ кунед; барои санҷишҳои шабакавӣ - PIN IRQ барои ядроҳои мушаххас.
Равандҳои пасзамина: гиреҳи тоза, хомӯш кардани cron/нусхабардорӣ/антивирус/updatedb.
Шабака: роҳҳои устувор, собит MTU/ECN/AQM, парешонии канал.
Маълумот: маҷмӯаҳои якхела, кардиналӣ ва тақсимот.
Кэш: режими алоҳидаи "хунук" (гузариши аввал) ва "гарм" (такрорӣ), ба таври возеҳ ишора мекунанд.

Синфҳои нишондиҳанда

1) Нишондиҳандаҳои хурд (функсия/алгоритм)

Мақсад: Рамзи/алгоритми мушаххасро чен кунед.
Воситаҳо: чаҳорчӯбаи дарунсохт (Go 'testing). B ', JMH, pytest-нишондиҳанда).
Қоидаҳо: JIT гармкунӣ, миллисекундҳо → наносекундҳо; Ҷудокунии GC; тухми собит.

2) Нишондиҳандаҳои Meso (компонент/хидмат)

HTTP сервер, кэш, брокер, пойгоҳи додаҳо дар як гиреҳ.
Асбобҳо: wrk/wrk2, k6 (модели кушода), гиёҳҳо, ghz (GRPC), fio, sysbench, iperf3.
Қоидаҳо: маҳдудиятҳои пайвастшавӣ/файл, ҳавзҳо; Ҳисоботи CPU/IRQ/GC.

3) Нишондиҳандаҳои макро (роҳи e2e/дархост)

Роҳи пурра: CDN/edge → proxy → service → DB/кэш → ҷавоб.
Воситаҳо: пайгирии k6/Locust/Gatling + RUM/OT bel; омехтаи воқеии хатсайрҳо.
Қоидаҳо: ба воқеият наздиктар (маълумоти "ифлос", ақибмонии системаҳои беруна), ба таври дақиқ бо ретрас.

Ченакҳо аз рӯи қабат

ТабақаМетрика
Мизоҷ/канорDNS p95, дасти TLS p95, TTFB, HTTP/2/3 доля
ШабакаRTT/талафот/ҷиттер, ECN CE, Goodput, PPS/CPS
TLS/Проксидастҳо/ҳо, суръати дубора, омехтаи шифр
Замимаp50/95/99, 5xx/429, таваққуфи GC, риштаҳо, навбатҳо
Кэшхит-таносуб аз рӯи қабат, хориҷшавӣ, калидҳои гарм
ДБQPS, дархостҳои p95, қуфлҳо, зарбаи буферӣ/кэш, WAL/fsync
ДискIOPS, ниҳонӣ, 4k/64k, омехтаи хондан/навиштан, арзиши fsync
GPU/MLгузариш (намунаҳо/с), ниҳонӣ, mem BW, CUDA/ROC mm util

Қолибҳо ва фармонҳои санҷишӣ

Шабака (TCP/UDP):
bash iperf3 -s # server iperf3 -c <host> -P 8 -t 60 # parallel, stable bandwidth
HTTP сервер (сарбории устувор, wrk2):
bash wrk2 -t8 -c512 -d5m -R 20000 https://api. example. com/endpoint \
--latency --timeout 2s
Модели кушода (k6, сатҳи расидан):
javascript export const options = {
scenarios: { open: { executor: 'constant-arrival-rate', rate: 1000, timeUnit: '1s',
duration: '10m', preAllocatedVUs: 2000 } },
thresholds: { http_req_failed: ['rate<0. 3%'], http_req_duration: ['p(95)<250'] }
};
Диск (fio, 4k хониши тасодуфӣ):
bash fio --name=randread --rw=randread --bs=4k --iodepth=64 --numjobs=4 \
--size=4G --runtime=120 --group_reporting --filename=/data/testfile
Пойгоҳи додаҳо (идеяи намунавии sysbench + PostgrE SQL):
bash sysbench oltp_read_write --table-size=1000000 --threads=64 \
--pgsql-host=... --pgsql-user=... --pgsql-password=... prepare sysbench oltp_read_write --time=600 --threads=64 run
Хотира/CPU (Linux perf + stress-ng):
bash perf stat -e cycles,instructions,cache-misses,L1-dcache-load-misses \
-- <your_binary> --bench

Омор ва эътибор

Нусхабардорӣ: ҳадди аққал 10 медаванд, хориҷиёнро истисно кунед (мустаҳкам: median/MAD).
Фосилаҳои эътимод: пурборкунии 95% CI барои p95/p99 ва воситаҳо.
Андозаи таъсир: тағирёбии нисбӣ ва CI-и он (масалан − 12% [− 9%; − 15%]).
Аҳамияти амалӣ: 10% коҳиш дар p95 бо нархи + 30% CPU - оё ин меарзад?
Графҳо: скрипка/ECDF барои тақсимот, "хатҳои пуррагӣ" (RPS → ниҳонӣ).

Профили Bottleneck ва маҳаллисозӣ

CPU: 'perf', 'async-profiler', eBPF/пироскоп; фламеграф пеш ва баъд.
Alloc/GC: профилҳои корӣ (Go pprof/Java JFR).
I/O: 'iostat', 'blktrace', 'fio --lat_percentiles=1'.
Сеть:'s -s ',' ethtool -S ',' dropwatch ',' tc -s qdisc '.
БД: 'ФАҲМОНЕД (ANALIZE, BUFFERS)', pg_stat_statements, slowlog.
Пули нақд: калидҳои болоӣ, TTL, сабаби хориҷшавӣ.

Ҳисобот ва артефактҳо

Чиро ислоҳ кардан лозим аст:
  • парчамҳои сохтан, тартиб додан/оптимизатсия git SHA.
  • Конфигуратсияҳои ядро/шабака (sysctl), версияҳои драйвер/NIC/firmware.
  • Топология (VCPU/NUMA/HT), ҳоким, ҳарорат/басомад.
  • Маълумот: андоза, кардиналӣ, тақсимот.
  • Чиро бояд нашр кард: ҷадвалҳои p50/p95/p99, хатогӣ/сония, интиқол, захираҳо (CPU/RAM/IO), CI.
  • Артефактҳо: скриптҳои иҷро, графикҳо, фламеграф, натиҷаҳои JSON/CSV, протоколи муҳити зист.

Нишондиҳии одилона

Маҳдудиятҳои якхела (ҳавзи конн, keepalive, занҷири TLS, stapling OCSP).
Вақти гуфтушунид/бозсозӣ ва версияи HTTP (h2/h3).
Тавозуни ҳарорат: гарм шудан то мувозинат (бе таъсири турбо-афзоиш).
Кэшҳои одилона: Ҳарду "хунук" ё ҳарду "гарм".
Симметрияи шабака: хатсайрҳои якхела/MTU/ECN/AQM.
Буҷаи вақт: DNS/TLS/connect - ба таври возеҳ ҳисоб кунед ё баробар истисно кунед.

Анти-намунаҳо

Як давидан → "натиҷа".
Омезиши режимҳо (қисми хунук, қисми гарм) дар як силсила.
Модели пӯшида ба ҷои модели кушода барои сарбории Интернет → устувории бардурӯғ.
Бозёфтҳои ҳисобнашуда → "RPS меафзояд" аз ҳисоби хароҷот ва каскад 5xx.
Муқоиса дар ғадудҳо/ядроҳо/схемаҳои барқ.
Не профил → оптимизатсияи нобино.
Бозӣ бо GC/heap бидуни таҳлили профил → регрессияи дум.

Дастурҳои амалӣ

Қадамҳои ҳадди аққали қубур:

1. Муҳитро ислоҳ кунед (скрипт 'env _ capture. ш ').

2. Гарм кунед (5-10 дақиқа), басомадҳо/ҳароратҳои сабт.

3. Гузаронидани N такрори кӯтоҳ + 1 дароз.

4. Профилҳоро (CPU/alloc/IO) дар қуллаи баланд тоза кунед.

5. CI/графикҳоро ҳисоб кунед, артефактҳо ҷамъ кунед.

6. Ҳал: гипотезаро қабул/рад кунед, қадамҳои минбаъдаро ташкил диҳед.

Хати каҷ:
  • Қадамҳои RPS (10% қадам) → ислоҳи p95/хатогиҳо → ёфтани "зону".
  • Мо ҷадвали RPS → ниҳонӣ ва RPS → CPU месозем: сарҳад ва арзиши минбаъдаи% -ро мебинем.

IGaming/fintech мушаххас

Арзиши як миллисекунд: Беҳтар кардани дараҷа бо таъсири $ (табдили/churn/маҳдудиятҳои PSP).
Қуллаҳо (гугирдҳо/мусобиқаҳо): хӯша + нишондиҳандаҳои плато бо гармкунии TLS/CDN/кэш.
Пардохтҳо/PSP: андозагирии ниҳоӣ бо маҳдудиятҳои қуттии қуттӣ, аблаҳӣ ва аксуламал ба таназзул; Вақти ҳамёнро бо ченакҳои прокси ислоҳ кунед.
Филтрҳои зидди қаллобӣ/бот: профили қоидаҳоро дар курсии макро дохил кунед (бардурӯғ-мусбат, иловаи ниҳонӣ).
Роҳбарон/jackpots: Калидҳои гарм/рейтинги санҷишӣ, қуфлҳо, атомизм.

Рӯйхати назоратӣ

  • Гипотеза/ченакҳо/меъёри муваффақият.
  • Мониторинги тағйирёбанда (қудрат/NUMA/IRQ/шабака/кэш).
  • Нақшаи иҷро (нусхаҳо, давомнокӣ, гармшавӣ)
  • Ҷудошавии хунук/гарм.
  • Профил фаъол аст (CPU/alloc/IO/DB).
  • Омор: CI, санҷишҳои аҳамият, графикҳо.
  • Артефактҳо ва скриптҳои репро дар репозитория (Ia
  • Ҳисобот бо "арзиши такмил" ва тавсияҳо.
  • perf регрессия.

Ҳисоботи хурд (қолаб)

Ҳадаф коҳиш додани p95 API 15% бидуни афзоиши CPU> 10% аст.
Усул: A/B, k6 open-model 1k rps, 10 × 3 медавад, кэши гарм.
Ҷамъ: p95 − 12% [− 9%; − 15%], CPU + 6%, 5xx бетағйир.
Фламеграф: ↓ сериали JSON (− 30% CPU), мушкилӣ ба пойгоҳи додаҳо гузашт.
Қарор: оптимизатсияро қабул кунед; қадами навбатӣ гурӯҳбандии дархостҳои пойгоҳи додаҳо мебошад.
Артефактҳо: графика, профилҳо, конфигуратсияҳо, JSON хом.

Ҷамъ

Нишондиҳии хуб методологияи қатъӣ + муқоисаи одилона + эътибори оморӣ + профилизатсия + репродуктивӣ мебошад. Гипотеза, назорати муҳити зист, хондани фосилаҳои эътимод, нашр кардани артефактҳо ва қабули қарорҳо оид ба арзиши такмил. Ҳамин тавр, шумо дар муаррифӣ рақами зебо нахоҳед гирифт, балки афзоиши воқеии суръат ва пешгӯии платформа.

Contact

Тамос гиред

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

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

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

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

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