API אנליטיקה ומדדי ביצועים
1) למה אתה צריך את זה
API - פלטפורמה "מערכת מחזור הדם. "בלי מדדים נוקשים, אנחנו לא יכולים:- להוכיח את היישום של SLO ו-SLA,
- מנהל רוחב פס וכלכלת שאילתות,
- למקד במהירות הידרדרות (p99-פלי, 5xx פרצי),
- לתעדף אופטימיזציות השפעה עסקיות.
אובייקטיב: מודל תצפית יחיד שבו כל בקשה נעקבת מהיקף ל DB עם מזהים משותפים ו-SLIs עקביים.
2) טקסונומיה של מדדים
טכני: RPS, latency (p50/p95/p99), שיעור שגיאה (4xx/5xx), רוויה (CPU, זיכרון, קובץ-desc), זמן תור.
מוצר: מבצעים מוצלחים/מין, המרת שלב (200/סך הכל), נתח מוגבל (429), מגשים מחדש, מקטעי משתמש.
עלות: עלות/בקשה (בקשות CPU-ms + egress + database), עלות של feature/endpoint, דולר/דייר, שיחות $1.
3) ”אותות זהב”: אדום ושימוש
אדום (עבור API):- קצב - בקשות/שניות (על ידי סוף נקודה/דייר/תוכנית).
- שגיאות - 4xx/5xx/429 שברים ואבסולוטיות.
- משך - p50/p95/p99 מקצה לקצה ועל ידי שלבים (ingress ach application # DB + צד שלישי).
- ניצול - עומס מעבד/IO/ערוץ.
- רוויה - תורים (run-תור, backlog, DB לחכות).
- שגיאות - שגיאות נהג/פסק זמן.
4) הגדרות ונוסחאות בסיסיות
זמינות: '1 - (5xx + gateway_timeout )/ all_requests'.
הצלחה SLI: '2xx/( כל 429_shadow)' (לא כולל מנעולי צל).
Apdex: ("|T≤T| + 0. 5·|T≤4T| )/כל ", שבו 'T' הוא סף" טוב "היעד.
הגברת זנב: ”p99 _ total 'max (p99_stage_i)” - תרומה של תורים/קומפוזיציה.
תקציב שגיאה (חודש) בשעה 99. 9%: "תקציב = 0. 1% נקודה _ זמן ".
קופסאות אחוריות מומלצות של היסטוגרמה: '[ 5ms, 10ms, 25ms, 50ms, 100ms, 250ms, 500ms, 1s, 2. חמש, חמש ].
5) SLI/SLO והתראה על ידי שרפה קצב
דוגמה SLO (API ציבורי):- זמינות: 99. 9 %/30 ימים.
- p95 latency 'Get/ארנק/שיווי משקל' <150 ms; 'פוסט/תשלומים' <400 ms.
- שגיאות '5xx' <0. 2%. 429 (מוצק) <1% מהתנועה הכוללת.
- 2% מהתקציב לשעה 1 או 5% לשעה 6 עמוד למהנדס.
- 10% ליום עדיפות RCA.
6) סט של מדדים (מה לאסוף הוא חובה)
על המתחם (שער/WAF):- 'http _ בקשות _ total ~ מסלול, שיטה, סטטוס, דייר, תכנית'
- 'http _ request _ wardation _ seconds _ buket _ route,...' (היסטוגרמה)
- "retries _ total 'l'," "rate _ limited _ total' key, פוליסה" "
- גדלי גוף: "בקשה _ בייטס", "תגובה _ bytes&pos
- 'db _ client _ בקשות _ total _ op, table', 'db _ latency _ seconds _ buxet' op '
- 'cache _ ops _ total _ op', cache hit-rate שיחות חיצוניות: 'outbound _ calls _ total &d; op', latency/tieut timeous/bools: אורכים/עיכובים, עובדי USH: CPU, RSS D
תוויות עסקיות: "terant _ id'," region "," kyc _ level "," plan "," feature _ flag ".
7) עקבות וקורלציה (OpenTelemetry)
W3C Trace-Contraction ('טרקפרנט', 'עקבות') על כל הכיפופים.
Span-S על פי שלבים: Instruction # authZ ac application ac.DB/Redis ac PSP/exterly.
תכונות/תוויות: 'http. מסלול ", אנדוזר. תעודה מזהה, דיירת. 'Id',' Idempotency. מפתח ',' סיכון. ניקוד '.
מופת: נקודות מקשר על גרפי latency/שגיאה עם זיהוי עקבות ספציפי.
- מבוסס ראש 1-10% עבור נתיבים ”רגילים”,
- זנב מבוסס פלי (קח איטי/שגוי),
- הסתגלות לשיאים ותקריות.
- מטען: לשאת ”דייר ”/” סיכון” לקיצוצים מבלי לסמן כל אירוע.
8) יומנים: מבנה ופרטיות
JSON מובנה; שדות דרושים הם 'ts',' trace _ id ',' span _ id', 'route', 'status', 'latency _ ms',' derant', 'user _ id _ hash'.
מדיניות PII: מסכת PAN/PII; מכחיש סודות/אסימונים.
דגימת יומן: גבוהה עבור 4xx/5xx/429 ובקשות ”ארוכות”.
9) מפת לוח מחוונים (סט מינימלי)
1. Exec-Summary: RPS, זמינות, שיעור שגיאה, p95/p99 latency, 429 company, burn-rate-rate.
2. פר-רוט: קצה עליון על ידי RPS/שגיאה/זנב; השוואה של גרסאות (כנרית).
3. Per-Tenant/Plan: טען/עלות/שגיאה מובילים.
4. בריאות תלות: DB, מטמון, PSP/External - Latency, שגיאות, רוויה.
5. קיבולת: CPU/RAM/FD, תורים, מאגר חיבור, GC, גבולות מכולה.
6. אבטחה/התעללות: 401/403, 429/פוליטיקאים, פרוסות גיאו/ASN, מגש מחדש.
10) התראות (סף ומגמה)
'error _ rate'> 2% (5 דקות) ו RPS> N = זימונית.
'p99 _ latency _ קריטי'> סף היעד (10 דקות).
'burn _ rate' by תקציב (ראה § 5).
DB 'timeouts '/' deflocks' או growth' teue _ time '> X ms.
ספקים חיצוניים: "outbound _ 5xx _ rate {diver}> 1% + SLO-תלוי.
11) תכנון וביצועים קיבליים
חוק קטן: ”L = averyth.cW” (אורך תור ממוצע = זמן תנועה × ממוצע).
המטרה p95 מפורקת: ”Ingress + app + DB + external + teue”.
תקציב מקביל: לתקן את המספר המקסימלי של פעולות כתיבה בו זמנית.
מטרי תקציב: ”CPU ms לכל בקשה”; אנחנו שומרים על מרווח של 30-50% לשיא.
אינטראקציה עם הגבלת קצב: למדוד את פרופורציית הבקשות במכסה ”תקרה” ואת ההשפעה על latency.
12) טעינה ובדיקות סינתטיות
סוגים: עומס בסיס, התפרצויות x 10, ”צעדים”, פלטהאוס ארוך טווח, לחץ/כאוס (הרג צומת, עיכובים ברשת), סינתטיים לפי תרחישי לקוח קריטיים.
פרופיל: CPU/alloc/lock-contention, N + 1 (SQL/HTTP), קודים איטיים.
בקרת רגרסיה: השוואה של p95/p99/שגיאות לפני/אחרי השחרור (קנרית).
13) עלות ־ תצפית
מדדי עלות: ”cpu _ ms',” egress _ bytes ”,” db _ calls', ”$ לכל 1 k בקשות”.
הקצאה לאנדפוינט/דייר/תכונה: תגיות חיוב מהתזמור + טעינת מדדים * דו "ח כלכלת יחידת API.
אלגוריתם אופטימיזציה: בחר נקודות TOP-endpoints על ידי המוצר ”motion × cost × (p95 - המטרה)”.
14) לכל דייר אנליטיקה ו ”צדק”
כל מדדי המפתח מתויגים ”דייר _ id/plan”.
נתח לקוחות ”כבדים” בזנבות p99; גבולות/מכסות ומגש תקציבים.
גזירה הוגנת: כאשר עומס יתר, אנו להפחית את הנתח של דיירים ”פרופיל גבוה”.
15) פרטים של iGaming/Finance
קטעים מאת "kyc _ level", "risk _ tier", "payment _ method'.
נתיבי ”כסף” ('פוסט/פיקדונות', 'פוסט/משיכות'): יעד נמוך p95, תקציבי שגיאה נפרדים.
מדדים של Time-to-Wallet (TTW), שיתוף של מנעולים אוטומטיים נגד הונאה, המרת תשלום.
יומנים בלתי ניתנים לשינוי לפעולות כספיות והחלטות נגד הונאה.
16) מכשירים: פרקטיקות יישום
שמות מדדים (דוגמה):- api _ http _ coses _ total (דלפק)
- 'api _ http _ wise _ wardation _ seconds' (היסטוגרמה)
- 'api _ outbound _ coses _ total', 'api _ db _ query _ wardation _ second &fose
- 'api _ קצב _ limited _ total', 'api _ retry _ total'
Systerious: ”מסלול”, ”שיטה”, ”סטטוס _ מחלקה”, ”דייר”, ”אזור”, ”גרסה”, ”קנרית”, ”ספק”, ”db _ table”.
קרדינליות: להימנע מערכים חופשיים (user_id), להשתמש ”דליים ”/חשיש.
מופת: התחבר להיסטוגרמות p95/p99 * לחיצה על עקבות.
17) תרופות אנטי ־ פטריות
מדיום במקום אחוזון; אין חלוקה לשיעורי סטטוס.
”מסלול ”/” נתיב” (זיהוי דינמי הוא ”תפור” לתוויות).
תוויות עם קרדינליות גבוהה (user_id גולמי, IP).
אין חשבונאות נפרדת של ספקים חיצוניים (PSP/3rd-part).
התראות באמצעות ”רעש” (חלון בודד וסף אחד).
p99 מונע זמן תור (מסכות ממש מושחתות).
18) רשימת מוכנות למומחים
[ ] SLI/SLO ותקציב-טעות מוגדר, הסכים עם העסק.
[ ] היסטוגרמות ושיעורי סטטוס; p95/p99 על לוחות מחוונים.
[ ] עקבות מלאות (Otel), מתאם רישום/מטרי/עקבות.
[ ] התראות שרפה (שני חלונות), סף p99 וקצב שגיאה.
[ ] פר-דייר/כל תוכנית מדווחת.
[ ] לוחות מחוונים: Exec, Per-Road, תלויות, קיבולת, התעללות.
[ ] תרחישי טעינה (פרץ/רמה/מתח), פרופיל.
מדיניות [ ] ג 'יטר רטריי; חשבון על ההשפעה של מגשים מחדש על RPS.
[ ] תיעוד SLA/SLO לשותפים ולקוחות ציבוריים.
[ שמירת ]/מיסוך יומן, הגנת PII.
19) TL; DR
בניית יכולת תצפית סביב SLI/SLO ותקציב שגיאות, מדידת RED/USE, איסוף היסטוגרמות Latency עם p95/p99 וזמן תור, הפצת איתור יחיד מהיקף ל-DB, שימוש בדגימת זנב/הסתגלות, חיתוך לכל דייר/עלות ושריפת שני חלונות. קיבולת תוכנית לפי חוקי התור והשפעה על מדדים עסקיים; אנטי-פטריות - מדיום במקום אחוזון, קרדיליות גבוהה ותלות חיצונית בלתי מוסברת.