GH GambleHub

KPI基礎設施和藥房

為什麼需要它

基礎設施的KPI將穩定性的「感覺」轉換為可測量的目標,並管理工作的風險和重點。正確的指標將技術SLI與業務成果(轉換,時間到錢包,LTV)聯系起來,並允許計劃開發,負載和創新份額與可靠性。

基本概念: SLI、SLO、SLA和錯誤預算

SLI(服務級別指標)-可測量的質量指標:成功查詢的百分比、p95延遲、每間隔藥房。
SLO(服務級別目標)是SLI(例如"成功≥ 99的目標。在30天內達到9%")。
SLA(協議)是帶有罰款/貸款的外部承諾。始終是SLO的派生,但不等於SLO。
錯誤預算='1 − SLO'。這是度量窗口中「不間斷」的最大允許比例。用於風險發布和實驗決策。

示例:
  • SLO可用99。30天內95%→預算錯誤0。05% ≈ 21.6分鐘「不間斷」在日歷月。

四個「黃金」信號和其他信號

1.潛伏期(p50/p90/p95/p99,尾巴比平均水平更重要)。
2.錯誤(5 xx/timeout/業務錯誤)。
3.流量/吞吐量(RPS/QPS,MBps)。
4.飽和度(CPU/RAM/IO/FD/連接/GC/配額)。
另外:冷啟動,隊列/beclog,調度時間,SLO合規性。

針對不同服務類型的SLI模型

HTTP/API

可用性: 「(成功的2xx/3xx −邏輯錯誤)/(所有查詢)」

潛伏期:成功查詢的「p95」;熱點路線的目標。
質量:具有「audience/scope」的查詢比例正確(沒有authZ錯誤)。

隊列/asinchron

消息處理時間:p95端到端≤ N秒。

Backlog: 中位數

交付錯誤:≤ Z ppm。

DB/緩存

操作的潛在性:p95 get/put/commit。
飽和:連接池使用,高速緩存的命中率。
錯誤:timeouts,deadlocks,eviction storms。

CDN/靜態

Hit Ratio:目標級別≥;降解→起源負荷增加。
POP可用性:Anycast布局,故障由鄰居補償。

付款(業務SLI)

Time-to-Wallet p 95,存款/提款成功率%,PSP故障率。

可用性和「aptime」計算"

服務的可用性=「成功查詢/所有查詢」(最好不是「藥房分鐘」)。
基礎架構節點的替代方案:「處於綠色狀態的時間/窗口時間」。
日歷窗口:28-31天,滾動窗口:過去30/90天。
工作時間/關鍵窗口:對於backoffice,可以按計劃視為aptime(例如,當地時間08:00-22:00)。

依賴項組成(簡化): 如果服務A取決於B和C,則獨立故障:
  • 「可用性(A) ≈ Av (B) × Av (C) × Av (A'B, C)」-在邊界上設置SLO很重要。

SLO集示例(樣本)

Gateway API: 可用性≥ 99。95%/30d;p95 latency ≤ 120毫秒;錯誤≤ 0。2%.

Checkout/Payments: 存款成功≥ 98.5%/30d;Time-to-Wallet p95 ≤ 90 с;PSP-timeouts ≤ 0.3%.

數據庫: p95讀≤ 10毫秒;p95 write ≤ 25毫秒;replica lag p95 ≤ 150 мс.

現金: 命中率≥ 85%;eviction storms = 0/30д.

付款: p95處理≤ 5枚地雷;frod falls陽性≤ 0。3%.

錯誤預算和變更管理

如果錯誤預算在窗口中間之前耗盡了50%+-將引入「凍結」間距/發布,重點放在穩定上。
如果預算支出緩慢,則可以加速實驗/金絲雀。
預算消耗通過「release_id」鏈接到特定的發布/事件。

Alerting: 如何不「晚上打電話」是徒勞的

Alerta僅通過SLO降解和生命癥狀,而不取決於每個指標。
多窗口、多燃燒率:短窗口(5-15分鐘)+長窗口(1-6小時)。
示例:「Burn rate 14 × 5分鐘6 × 1小時」→呼叫頁面。
非P1信號的安靜時鐘;責任路由(ownership)。

Dashbords和可視化實踐

SLO面板:服務合規性,剩余預算,依賴圖。
Latency面板:p50/p90/p95/p99,路線/tenant/國家/ASN分解。
錯誤面板:代碼/原因,與版本/fichflags相關。
Capacity面板:CPU/RAM/IO/network/FD/連接、趨勢和預測。
業務面板:轉換,時間到錢包,存款/結算,保護影響(WAF/antibot)。

事件、MTTR和驗屍程序

反應KPI:
  • MTTD(檢測),MTTA(吸盤),MTTR/MTTC(恢復/遏制),未及時發生RCA事件的百分比。
  • 花花公子:誰在升級如何啟用菲奇弗拉格/塊,如何回滾發布,與企業的溝通。
  • Mortem (blameless):事實、時間線、根本原因(那些/過程)、行動:立刻/長期、回歸測試、對SLO的影響。

性能、飽和度和降解

Headroom:目標資源儲備(例如,CPU <70% p95, RAM <75% p95)。
熱點:分析關鍵路線;「p99」比平均值更重要。
Degradation modes:僅緩存,僅讀取,對不重要的查詢進行滴答作響,「利率限制「/配額。

公式和示例計算

1)按請求可用


availability = (total_requests - error_requests) / total_requests

其中'error_requests'=5xx+timeouts+業務錯誤(可配置)。

2)錯誤預算(分鐘)


error_budget_minutes = window_minutes (1 - SLO)

示例:30天(43 200分鐘),SLO 99。95% → 21.6分鐘。

3) Burn rate


burn_rate = observed_error_ratio / (1 - SLO)

如果SLO 99。9%(預算0)。1%),錯誤1%→ burn_rate=10 ×。

4)復合可用性


A_total ≈ A_gw × A_auth × A_db × A_psp

小跌幅乘以整體A。

測量和排除策略

計劃外窗口(事件)-計入。
計劃服務窗口-僅在SLA如此明確的情況下才考慮在內;對於SLO,通常不會減去(或單獨標記為「planned_downtime」)。
合成vs真實用戶:具有兩個通道(RUM+合成檢查)非常有用。

工件示例

KQL/PromQL(想法)

5分鐘SLI錯誤(5 xx+timeouts):
promql sum(rate(http_requests_total{status=~"5..    timeout"}[5m]))
/
sum(rate(http_requests_total[5m]))

p95 latency по route:

promql histogram_quantile(0. 95, sum(rate(http_request_duration_seconds_bucket[5m])) by (le, route))

Burn rate 5m/1h:

promql
(
sum(rate(errors_total[5m])) / sum(rate(requests_total[5m]))
) / (1 - 0. 999)

SQL(支付業務SLI)

sql
SELECT date_trunc('minute', finished_at) AS ts,
100. 0 sum((status='SUCCESS')::int)::float / count() AS payment_success_pct,
percentile_cont(0. 95) WITHIN GROUP (ORDER BY EXTRACT(EPOCH FROM (finished_at - started_at))) AS ttw_p95_sec
FROM payments
WHERE finished_at > now() - interval '30 days'
GROUP BY 1 ORDER BY 1;

管理依賴項和級聯

團隊之間的SLO合同:gateway↔auth↔wallet↔PSP。
Degradation policies:當依賴性下降時,服務進入「簡化模式」。
功能橫幅:關閉非關鍵功能,「灰色釋放」以減少尾巴。

能力規劃與預測

Shchomes。RPS/MBps趨勢和事件(錦標賽,比賽,股票)的預測。
通過「黃金路徑」進行負載測試,分別針對PSP/付款進行測試。
高峰期股票:目標系數1。3×–2.0 ×預期負載。

SLO/KPI實施支票

1.從客戶的角度定義關鍵的用戶路徑並談判SLI。
2.選擇SLO目標和窗口(30/90天);計算錯誤的預算。
3.將指標收集嵌入網關/服務中,規範代碼/原因。
4.自定義burn-rate alerta(短+長窗口)、路由和呼叫。
5.可視化SLO合規性,與版本/fichflags相關聯。
6.發起「預算與變革」政策和凍結過程。
7.回顧和RCA針對每個過量,回歸測試。
8.每季度審查SLO的實際預算使用和業務目標。

典型的錯誤

通過忽略應用程序錯誤來測量「按指針計時」。
SLO標有「pro pok」(99。999%),但無法實現,無法解決任何問題。
Alerts通過低級別指標代替自定義癥狀。
沒有成癮圖→不清楚燃燒的地方。
SLO與發行版沒有關聯→目前尚不清楚是誰「吃掉」了預算。
忽略尾巴p99 →中位數好,但UX VIP用戶差。

iGaming/fintech的細節

時間表高峰:比賽/活動/促銷活動-提前提高能力,加熱緩存/CDN,包括特殊的限制配置文件。
業務SLI:時間到錢包,存款/提款成功,「付款速度」p95;在dashbords的根部。
PSP/合作夥伴:單獨的SLO/dashbords按供應商,自動路由切換。
Antibot/antifrod:不要吃掉錯誤預算-將「合法塊」與「技術錯誤」分開。
監管:日誌存儲,SLO/SLA計算的可重復性,事件報告。

FAQ

是否需要從SLO中減去計劃工作?

通常不是:SLO反映了用戶體驗。對於SLA,可以規定例外。

為什麼p95而不是平均?
中間掩蓋了尾巴;UX定義尾巴(p95/p99)。

一個單個SLO可以用於整個產品嗎?

需要SLO樹:按產品分組,按關鍵路徑/組件分組。

底線

強大的基礎架構KPI系統是定制SLI,現實的SLO,錯誤預算作為變更管理杠桿,智能警報和事件紀律以及RCA。將技術指標與業務指標聯系起來,自動化收集和可視化-即使是在高峰時段,基礎架構也將變得可預測且可控制。

Contact

與我們聯繫

如有任何問題或支援需求,歡迎隨時聯絡我們。我們隨時樂意提供協助!

Telegram
@Gamble_GC
開始整合

Email 為 必填。Telegram 或 WhatsApp 為 選填

您的姓名 選填
Email 選填
主旨 選填
訊息內容 選填
Telegram 選填
@
若您填寫 Telegram,我們將在 Email 之外,同步於 Telegram 回覆您。
WhatsApp 選填
格式:國碼 + 電話號碼(例如:+886XXXXXXXXX)。

按下此按鈕即表示您同意我們處理您的資料。